diff --git a/projects/dhis2-single-page-docs/am_ET/.cache_timestamp b/projects/dhis2-single-page-docs/am_ET/.cache_timestamp index 4b6f0dd5..eba4b9d7 100644 --- a/projects/dhis2-single-page-docs/am_ET/.cache_timestamp +++ b/projects/dhis2-single-page-docs/am_ET/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:04Z \ No newline at end of file +2024-11-05T21:27:01Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ar/.cache_timestamp b/projects/dhis2-single-page-docs/ar/.cache_timestamp index 4b6f0dd5..eba4b9d7 100644 --- a/projects/dhis2-single-page-docs/ar/.cache_timestamp +++ b/projects/dhis2-single-page-docs/ar/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:04Z \ No newline at end of file +2024-11-05T21:27:01Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/cs/.cache_timestamp b/projects/dhis2-single-page-docs/cs/.cache_timestamp index 4b6f0dd5..11026531 100644 --- a/projects/dhis2-single-page-docs/cs/.cache_timestamp +++ b/projects/dhis2-single-page-docs/cs/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:04Z \ No newline at end of file +2024-11-05T21:27:02Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/es_419/.cache_timestamp b/projects/dhis2-single-page-docs/es_419/.cache_timestamp index 1507084a..11026531 100644 --- a/projects/dhis2-single-page-docs/es_419/.cache_timestamp +++ b/projects/dhis2-single-page-docs/es_419/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:05Z \ No newline at end of file +2024-11-05T21:27:02Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/fr/.cache_timestamp b/projects/dhis2-single-page-docs/fr/.cache_timestamp index 1507084a..8e374120 100644 --- a/projects/dhis2-single-page-docs/fr/.cache_timestamp +++ b/projects/dhis2-single-page-docs/fr/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:05Z \ No newline at end of file +2024-11-05T21:27:03Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/id_ID/.cache_timestamp b/projects/dhis2-single-page-docs/id_ID/.cache_timestamp index 9e565ab8..1b74daba 100644 --- a/projects/dhis2-single-page-docs/id_ID/.cache_timestamp +++ b/projects/dhis2-single-page-docs/id_ID/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:07Z \ No newline at end of file +2024-11-05T21:27:04Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ko/.cache_timestamp b/projects/dhis2-single-page-docs/ko/.cache_timestamp index 9e565ab8..aabd55e8 100644 --- a/projects/dhis2-single-page-docs/ko/.cache_timestamp +++ b/projects/dhis2-single-page-docs/ko/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:07Z \ No newline at end of file +2024-11-05T21:27:05Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ko_KR/.cache_timestamp b/projects/dhis2-single-page-docs/ko_KR/.cache_timestamp index 9e565ab8..aabd55e8 100644 --- a/projects/dhis2-single-page-docs/ko_KR/.cache_timestamp +++ b/projects/dhis2-single-page-docs/ko_KR/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:07Z \ No newline at end of file +2024-11-05T21:27:05Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/pt/.cache_timestamp b/projects/dhis2-single-page-docs/pt/.cache_timestamp index 92761439..aabd55e8 100644 --- a/projects/dhis2-single-page-docs/pt/.cache_timestamp +++ b/projects/dhis2-single-page-docs/pt/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:08Z \ No newline at end of file +2024-11-05T21:27:05Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ru/.cache_timestamp b/projects/dhis2-single-page-docs/ru/.cache_timestamp index 92761439..373536a5 100644 --- a/projects/dhis2-single-page-docs/ru/.cache_timestamp +++ b/projects/dhis2-single-page-docs/ru/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:08Z \ No newline at end of file +2024-11-05T21:27:06Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md b/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md index 2904190c..363a89c9 100644 --- a/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md +++ b/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 template: single.html --- diff --git a/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md b/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md index 58c965be..5e0a37bb 100644 --- a/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md +++ b/projects/dhis2-single-page-docs/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 template: single.html --- diff --git a/projects/dhis2-single-page-docs/si/.cache_timestamp b/projects/dhis2-single-page-docs/si/.cache_timestamp index 92212834..f0d0b59d 100644 --- a/projects/dhis2-single-page-docs/si/.cache_timestamp +++ b/projects/dhis2-single-page-docs/si/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:09Z \ No newline at end of file +2024-11-05T21:27:11Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ur_PK/.cache_timestamp b/projects/dhis2-single-page-docs/ur_PK/.cache_timestamp index 92212834..f0d0b59d 100644 --- a/projects/dhis2-single-page-docs/ur_PK/.cache_timestamp +++ b/projects/dhis2-single-page-docs/ur_PK/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:09Z \ No newline at end of file +2024-11-05T21:27:11Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md index 698e99f4..2003e0a9 100644 --- a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2023-01-13' tags: -- DHIS core version 2.37 - بنایا +- DHIS core version 2.37 template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md index 8bfe25e0..6636c978 100644 --- a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS core version 2.39 - بنایا +- DHIS core version 2.39 template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md index a0b30770..6f1fe662 100644 --- a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS core version 2.40 - بنایا +- DHIS core version 2.40 template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md index f4841a1a..d4155200 100644 --- a/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md @@ -1,8 +1,8 @@ --- -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- DHIS core version master - بنایا +- DHIS core version master template: single.html --- @@ -12078,12 +12078,15 @@ below. above called "Date and period format" for the period format and available relative periods. - - For the organisation unit dimension, you can specify the items to be - the organisation unit or sub-units of the organisation unit - associated with the user currently authenticated for the request - using the keys `USER_ORGUNIT` or `USER_ORGUNIT_CHILDREN` as items, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the diff --git a/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-237__system-administration-guide-md b/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-237__system-administration-guide-md index 7c0b8dfe..cd13617c 100644 --- a/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-237__system-administration-guide-md +++ b/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-237__system-administration-guide-md @@ -1,8 +1,8 @@ --- revision_date: '2023-03-22' tags: -- انتظام - DHIS core version 2.37 +- انتظام template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md b/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md index af63531e..0c2960db 100644 --- a/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md +++ b/projects/dhis2-single-page-docs/ur_PK/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md @@ -1,8 +1,8 @@ --- revision_date: '2024-04-28' tags: -- انتظام - DHIS core version 2.40 +- انتظام template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md b/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md index 7a75e2a3..d992b174 100644 --- a/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-end-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - استعمال کریں +- DHIS core version 2.38 template: single.html --- diff --git a/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md b/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md index b18c0a9d..3c54aeba 100644 --- a/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md +++ b/projects/dhis2-single-page-docs/ur_PK/USE__USER-GUIDES__DHIS-CORE-VERSION-238__dhis2-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - استعمال کریں +- DHIS core version 2.38 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/.cache_timestamp b/projects/dhis2-single-page-docs/zh/.cache_timestamp index 985a8187..3329c717 100644 --- a/projects/dhis2-single-page-docs/zh/.cache_timestamp +++ b/projects/dhis2-single-page-docs/zh/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:10Z \ No newline at end of file +2024-11-05T21:27:18Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md index 54aac588..0497a986 100644 --- a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2023-01-13' tags: -- DHIS core version 2.37 - Develop +- DHIS core version 2.37 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md index 879c1b55..f356c522 100644 --- a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS core version 2.39 - Develop +- DHIS core version 2.39 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md index 6030ce07..eea662b2 100644 --- a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS 核心 2.40 版 - Develop +- DHIS 核心 2.40 版 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md index f8460316..76c2c703 100644 --- a/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md @@ -1,8 +1,8 @@ --- -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- DHIS核心 主版 - Develop +- DHIS核心 主版 template: single.html --- @@ -12077,12 +12077,15 @@ times: 上面称为“日期和期间格式”的期间格式和 可用的相对时期。 - - 对于组织单位维度,您可以指定要处理的项目 - 组织单位或组织单位的子单位 - 与当前针对请求进行身份验证的用户相关联 - 使用键 `USER_ORGUNIT` 或 `USER_ORGUNIT_CHILDREN` 作为项目, - 分别。您还可以指定组织单位标识符 - 直接,或两者结合。 + - 对于组织单位维度,可以将项目指定为 + 的组织单位或其下属单位。 + 已验证用户。组织单位使用 USER_ORGUNIT 密钥 + 本身,或为其子单元指定 USER_ORGUNIT_CHILDREN。您还可以指定 + 直接使用组织单位标识符,或将两者结合使用。 + 通过身份验证的用户必须拥有导出和分析数据的权限 + 指定组织单位的权限。如果没有组织单位权限 + 明确授予数据采集和维护权 + 将被应用。 - 对于组织单位维度,您可以指定组织 层次结构级别和用于请求的边界单元 @@ -14272,7 +14275,7 @@ A dedicated endpoint is available for data sets with custom HTML forms. This end | 仪表盘 | 报告所依据的仪表板 | 仪表板 UID | 是的 | | 信息 | 出现在报告标题之后 | 串 | 不 | | 收件人用户组 | 一组应接收报告的用户组 | 一个或多个用户组 UID | 没有收件人的预定任务将被跳过。 | -| 启用 | 表示是否应安排此推送分析。默认为假。 | Boolean | 是的。必须是真实的才能安排。 | +| 启用 | 表示是否应安排此推送分析。默认为假。 | Boolean | 是的。必须是真实的,才能安排。 | | 调度频率 | 应安排报告的频率。 | "每天"、"每周"、"每月" | 不安排无频率的推送分析 | | 调度日频率 | 应安排工作的频率日。 | 整数。频率为 "每天 "时为任意值。频率为 "周 "时为 0-7。频率为 "月 "时为 1-31 | 没有频率集有效频率日的推送分析将不会被安排。 | @@ -16376,7 +16379,7 @@ This example will demonstrate how to exchange data based on program indicators i * 请注意,根组织单位是`塞拉利昂`,代码为`OU_525`。 -* 登录**目标**实例并导航至*维护*应用程序。创建三个数据元素,其中代码与前面提到的计划指标相匹配: +* 登录**目标**实例,并导航至*维护*应用程序。创建三个数据元素,其中代码与前面提到的计划指标相匹配: * 名称 _BCG 剂量_ 和代码 `BCG_DOSE` * 名称_Measles doses_和代码`MEASLES_DOSE`。 @@ -17401,7 +17404,7 @@ curl -d @invites.json "localhost/api/33/users/invites" -u admin:district ### 用户账户确认邀请(试验性){ #webapi_user_confirm_invite } > **重要** -> 在确认邀请之前,管理员用户应设置用户并发送邀请链接。为了完成邀请,该前提条件还会在 `userinfo` 数据库表中为该用户添加一些必要的数据(`idToken`, `restoreToken`, `restoreExpiry`)。 +> 在确认邀请之前,管理员用户应设置用户并发送邀请链接。为了完成邀请,前提条件还包括在 `userinfo` 数据库表中为该用户添加一些必要的数据(`idToken`, `restoreToken`, `restoreExpiry`)。 用户可以通过以下端点确认邀请: `POST` `/api/auth/invite` @@ -17863,7 +17866,7 @@ UI 语言环境用于获取正确的翻译。如果给定的翻译不是 | keyDashboardContextMenuItemViewFullscreen | 允许用户全屏查看仪表板收藏夹 | 是的 | | 工作岗位日程表分钟后 | If a job is in state `RUNNING` for this amount of minutes or longer without making progress in form of updating its `lastAlive` timestamp the job is considered stale and reset to `SCHEDULED` state | 不 | | 工作岗位分钟后清理 | 当 "运行一次 "作业成功或失败后超过此分钟数时,该作业将被删除 | 不 | -| 工作最大延迟时间 | CRON 表达式触发的任务只能在一天中的目标时间与此小时数之间的窗口中触发。如果无法在该窗口内运行,则会跳过执行,根据 CRON 表达式,下一次执行将是下一个目标执行时间。 | 不 | +| 工作最大延迟时间 | CRON 表达式触发的任务只能在一天中的目标时间与此小时数之间的窗口中触发。如果无法在该窗口内运行,则跳过执行,根据 CRON 表达式,下一次执行将是下一个目标执行时间。 | 不 | | 工作日志调试低于秒数 | 执行间隔少于此秒数的作业会将其信息记录在调试信息中,而不是信息中。 | 不 | | keyParallelJobsInAnalyticsTableExport | 返回用于处理分析表的并行工作的数量。其优先级高于 "keyDatabaseServerCpus"。默认值:-1 | 不 | @@ -18295,7 +18298,7 @@ entity. We represent the enrollment with the `Enrollment` object, which we descr | occurredAt | 注册发生的时间戳。 | 不 | 是的 | Date:ISO 8601 | YYYY-MM-DDThh:mm:ss | | completedAt | 用户完成注册的时间戳。如果客户端未传递,则由服务器设置 | 不 | 是的 | Date:ISO 8601 | YYYY-MM-DDThh:mm:ss | | 完成人 | 仅用于读取数据。完成注册的用户。在服务器上设置 | 不 | 不 | 字符串:任意 | 无名氏 | -| 跟进 | 表示注册是否需要跟进。如果未提供,则为假 | 不 | 不 | 布依兰 | Default: False, True | +| 跟进 | 表示注册是否需要跟进。如果未提供则为假 | 不 | 不 | 布依兰 | Default: False, True | | deleted | 表示注册是否已被删除。它只能在删除时更改。 | 不 | 是的 | Boolean | 删除前为假 | | geometry | 注册的地理表示。基于计划的 "特征类型 | 不 | 不 | GeoJson | {
"type": "POINT",
"coordinates": [123.0, 123.0]
} | | 存储方式 | 存储/创建注册的客户编号。 | 不 | 不 | 字符串:任意 | 无名氏 | @@ -18443,7 +18446,7 @@ of the relationship must conform to are based on the `Relationship Type` of the > **注** > > 添加或更新数据值时,只需使用 `dataElement` 和 `value` 属性。要 -> 从事件中删除数据值,请将 `value` 设置为 `null` [见示例](#delete-data-values)。 +> 删除数据值,请将 `value` 设置为 `null` [见示例](#delete-data-values)。 ### 笔记 { #notes } @@ -18460,13 +18463,13 @@ DHIS2 汇总侧的数据值注释类似。 取消注册的原因。备注的使用非常灵活,可根据用户的需求和具体用例进行调整。 具体用例。 -注册和事件备注的条目数量不限;可添加的备注数量没有限制。 -可以添加的备注数量没有限制。但是,这些备注一旦创建,就无法删除或更新。 -一旦创建,就无法删除或更新。它们的功能类似于日志。要修改备忘,可以创建新的备忘。删除备忘的唯一 -删除备注的唯一方法是删除父对象,即事件或注册。 +Both enrollment and event notes can have an unlimited number of entries; there is no limit to the +number of notes that can be added. However, it is not possible to delete or update these notes once +they are created. They function like a logbook. To amend a note, a new note can be created. The only +way to delete a note is by deleting the parent object, either the event or the enrollment. -注释没有专门的端点,而是作为父事件和/或注册有效载荷的一部分进行交换。 -注册有效载荷的一部分。下面是一个有效载荷示例: +Notes do not have a dedicated endpoint; they are exchanged as part of the parent event and/or +enrollment payload. Below is a sample payload: ```json { @@ -18508,13 +18511,13 @@ DHIS2 汇总侧的数据值注释类似。 | 价值 | 纸条的内容。 | 是的 | 是的 | 字符串:任意 | 这是一份说明 | | 存储于 | 用户添加备注的时间戳。在服务器上设置。 | 不 | 是的 | Date:ISO 8601 | YYYY-MM-DDThh:mm:ss | | 存储方式 | 存储/创建备注的客户编号。 | 不 | 不 | 字符串:任意 | 无名氏 | -| 创建人 | 仅用于读取数据。创建对象的用户。在服务器上设置 | 不 | 是的 | 用户 | {
"uid":"ABCDEF12345",
"username":"username",
"firstName":"John",
"surname":"Doe"
} | +| 创建人 | 仅用于读取数据。创建对象的用户。在服务器上设置 | 不 | 是的 | 用户 | {
"uid": "ABCDEF12345",
"username": "username",
"firstName": "John",
"surname": "Doe"
} | ### 用户数 { #users } -| 物业 | 描述 | 需要 | 不可改变 | 类型 | 例 | +| Property | 描述 | 需要 | Immutable | 类型 | 例 | |---|---|---|---|---|---| -| uid | 用户的标识符。 | 是* | 是的 | String:Uid | ABCDEF12345 | +| uid | The identifier of the user. | Yes* | 是的 | String:Uid | ABCDEF12345 | | 用户名 | 用户使用的用户名。 | 是* | 是的 | 字符串:任意 | 123 | | 名 | 仅用于读取数据。用户名。 | 不 | 是的 | 字符串:任意 | 约翰 | | 姓氏 | 仅用于读取数据。用户姓氏。 | 不 | 是的 | 字符串:任意 | 无名氏 | @@ -18686,7 +18689,7 @@ API 的响应时间。同步导入会在导入后立即提供 [import 嵌套有效载荷是最常用的结构,其中跟踪器对象被嵌入到父级对象中。 其父对象,如被跟踪实体中的注册。这种结构的优点是 -的优点是,客户端无需为这些引用提供 UID,因为它会自动处理。 +优点是客户端无需为这些引用提供 UID,因为它会自动处理。 自动处理。 > **NOTE** @@ -18947,8 +18950,8 @@ Relationships linked to an entity are always deleted, without the need of any au ### CSV 导入{ #csv-import } -To import events using CSV make a `POST` request with CSV body file and the `Content-Type` set to -***application/csv*** or ***text/csv***. +要使用 CSV 导入事件,请使用 CSV 主体文件并将`Content-Type`设置为`POST`请求 +***application/csv*** 或 ***text/csv***. #### 大事记 { #events } @@ -19275,7 +19278,7 @@ as long as a single error was found during the import, regardless of how many wa > **注** > > 如果使用 AtomicMode "OBJECT"(原子模式)执行导入,导入时将导入任何数据,而不会出现验证错误。 -> 如果发现任何错误,总体状态仍将是 `ERROR`。 +> 如果发现任何错误,整体状态仍将是 `ERROR`。 ***validationReport*** @@ -19316,7 +19319,7 @@ entity type that was not found. > 事件和关系。 > > 如果有效载荷中没有提供 uid,导入过程将生成新的 uid。这意味着 -> 错误报告可能会引用一个不存在于有效负载中的 uid。 +> 错误报告可能会提到一个不存在于有效负载中的 uid。 > > 错误代表有效载荷中存在导入程序无法规避的问题。任何错误都会 > 阻止数据导入。另一方面,警告是指可以安全规避的问题。 @@ -19345,7 +19348,7 @@ entity type that was not found. `created` 指创建了多少个新对象。一般来说,有效负载中没有 uid 将被视为新对象。 -`updated` 指更新对象的数量。如果一个对象的有效载荷中设置了 uid,那么只要数据库中存在相同的 uid,它 +`updated` 指更新对象的数量。如果一个对象的有效载荷中设置了 uid,那么只要数据库中存在相同的 uid,该对象 将被视为更新,只要数据库中存在相同的 uid。 `deleted` refers to the number of objects deleted during the import. Deletion only happens when the @@ -19481,7 +19484,7 @@ As previously stated, `GET /tracker/jobs/{uid}/report` can be retrieved using a | E1082 | Event: `{0}`, is already deleted and can't be modified. | 如果事件被软删除,则不允许对其进行任何修改。 | | E1083 | 用户:`{0}`,无权修改已完成的事件。 | 只有超级用户或具有 "F_UNCOMPLETE_EVENT "权限的用户才能修改已完成事件。已完成事件是指状态为已完成的事件。 | | E1084 | 文件资源:`{0}`,无法找到引用。 | | -| E1085 | Attribute: `{0}`, value does not match value type: `{1}`. | 属性值类型与其提供的属性值不匹配。 | +| E1085 | 属性:`{0}`,值与值类型不匹配:`{1}`. | 属性值类型与其提供的属性值不匹配。 | | E1086 | Event: `{0}`, has a program: `{1}`, that is a registration but its ProgramStage is not valid or missing. | | | E1087 | 事件:`{0}`,找不到数据元素: `{1}`,链接到数据值。 | | | E1088 | Event: `{0}`, program: `{1}`, and ProgramStage: `{2}`, could not be found. | | @@ -19492,8 +19495,8 @@ As previously stated, `GET /tracker/jobs/{uid}/report` can be retrieved using a | E1095 | User: `{0}`, 没有数据写入 ProgramStage: `{1}` 的权限。 | 程序阶段共享配置使得用户没有写入该程序阶段的权限。 | | E1096 | User: `{0}`, has no data read access to Program: `{1}`. | 在程序共享配置中,用户没有该程序的读取权限。 | | E1099 | User: `{0}`, 没有 CategoryOption: `{1}` 的写入权限。 | 类别选项共享配置使得用户没有写入该类别选项的权限 | -| E1100 | 用户: `{0}`,缺少删除 TrackedEntity 的'F_TEI_CASCADE_DELETE'权限:`{1}`。 | 该 TrackedEntity 存在未删除的注册信息。如果用户没有 "F_TEI_CASCADE_DELETE "权限,则必须先明确删除这些注册信息,才能删除 TrackedEntity。 | -| E1102 | 用户: `{0}`, 没有访问被跟踪实体的权限:`{1}`, 程序:`{2}`, 组合。 | 当用户的组织单位不拥有此特定程序的 TrackedEntity 的所有权时,就会抛出此错误。拥有 TrackedEntity-Program 组合的组织单位应属于用户的捕获范围(有时是搜索范围)。 | +| E1100 | 用户: `{0}`,缺少删除 TrackedEntity 的'F_TEI_CASCADE_DELETE'权限:`{1}`。 | 该 TrackedEntity 存在未删除的注册信息。如果用户没有 "F_TEI_CASCADE_DELETE "权限,则必须先明确删除这些注册信息才能删除 TrackedEntity。 | +| E1102 | User: `{0}`, does not have access to the tracked entity: `{1}`, Program: `{2}`, combination. | 当用户的组织单位不拥有此特定程序的 TrackedEntity 的所有权时,就会抛出此错误。拥有 TrackedEntity-Program 组合的组织单位应属于用户的捕获范围(有时是搜索范围)。 | | E1103 | 用户: `{0}`, 没有'F_ENROLLMENT_CASCADE_DELETE'权限删除注册 : `{1}`。 | 该 "注册 "存在未删除的 "事件"。如果用户没有 "F_ENROLLMENT_CASCADE_DELETE "权限,则必须先明确删除这些事件,才能删除注册表。 | | E1104 | User: `{0}`, has no data read access to program: `{1}`, TrackedEntityType: `{2}`. | 与程序相关联的 TrackedEntityType 的共享配置规定,用户没有数据读取权限。 | | E1110 | Not allowed to update Event: `{0}`, existing Program `{1}`. | 现有事件的事件有效载荷与最初创建时的程序 uid 不同。 | @@ -19566,7 +19569,7 @@ As previously stated, `GET /tracker/jobs/{uid}/report` can be retrieved using a 如果第一个条件失败,导入将失败,并提示缺少引用。 但是,假设引用指向的东西不存在,或者用户无法访问。 -访问的内容。在这种情况下,这两种情况都会导致无法找到引用的信息。 +访问的内容。在这种情况下,这两种情况都会导致无法找到引用的消息。 #### 格式{ #formats } @@ -19644,7 +19647,7 @@ be sent as one. Programs can be configured to either validate mandatory attribut #### 查找所需数值{ #finding-required-values } 文本格式可能包含根据不同因素变化的变量。其中有些因素是服务器未知的; -因此,在生成和预留值时,必须提供这些变量的值。 +因此,在生成和预留值时必须提供这些变量的值。 该端点返回服务器在生成新值时将注入 TextPattern 的必填值和可选值的映射。 生成时必须提供必填变量,而可选变量只应在必要时提供。 @@ -19686,7 +19689,7 @@ be sent as one. Programs can be configured to either validate mandatory attribut #### 产生并保留价值终点 { #webapi_generate_reserve_values } 离线客户端可以使用此端点保留一定数量的唯一 ID,以便以后注册新的被跟踪实体实例时使用。 -可使用 `numberToReserve` 参数指定要生成的 ID 数量(默认为 1)。 +可使用 `numberToReserve` 参数(默认为 1)指定要生成的 ID 数量。 要覆盖默认的 60 天过期时间,请在请求中添加 `?expiration=`。 @@ -19758,10 +19761,10 @@ be sent as one. Programs can be configured to either validate mandatory attribut |**显示文本**| | |**显示键值配对**| | |**HIDEFIELD**|| - |**隐藏部分**|| - |**分配**|**X**| - |**显示警告**|**X**| - |**淋浴**|**X**| + |**HIDESECTION**|| + |**ASSIGN**|**X**| + |**SHOWWARNING**|**X**| + |**SHOWERROR**|**X**| |**完成时发出警告**|**X**| |**完成时出错**|**X**| |**创建活动**|| @@ -21017,7 +21020,7 @@ Tracker 在访问控制方面有几个不同的概念,如共享、组织单位 共享设置的工作原理很简单--在 Tracker 数据 导入/导出过程中强制执行。要读取数据值,用户需要拥有数据读取权限。如果用户要 -修改数据,他/她需要有数据写入权限。同样,如果用户要修改 +修改数据,则需要拥有数据写入权限。同样,如果用户要修改 元数据,就必须授予元数据写入权限。 Tracker 数据的一个关键点是需要采用整体方法。例如,用户 @@ -21039,7 +21042,7 @@ Tracker 数据的一个关键点是需要采用整体方法。例如,用户 有时,我们可能需要向特定用户组(实验室技术人员)授予访问特定阶段的权限,如 例如 "实验室结果")的访问权限。在这种情况下,我们可以 为 "实验室结果 "阶段提供数据写入访问权限,可能为一个或多个阶段提供数据读取 访问权限,以防我们希望实验室技术人员读取数据。 -如果我们希望实验室技术人员读取其他医疗结果,也可以不提供访问权限。 +如果我们希望实验室技术人员读取其他医疗结果,则可以提供对 "实验室结果 "阶段的数 据写入访问权限;如果我们认为实验室技术人员没有必要查看数据,则可以不提供访问权限。 如果我们认为实验室技术人员没有必要查看实验室相关数据以外的数据,则不提供访问权限。 总之,DHIS2 具有细粒度的共享设置,我们可以用它来实施数据和元数据层面的访问控制机制。 @@ -21061,7 +21064,7 @@ Tracker 数据的一个关键点是需要采用整体方法。例如,用户 不过,为了进一步微调范围,DHIS2 Tracker 引入了一个概念,我们称之为 **组织单位选择模式(OrganisationUnitSelectionMode)**。这种模式通常在导出跟踪器对象时使用。 -例如,用户有一个特定的跟踪器搜索范围,这是否意味着我们必须 +例如,如果用户有一个特定的跟踪器搜索范围,这是否意味着我们必须 是否意味着每次用户尝试搜索跟踪器、注册或事件对象时,我们都必须使用该范围?还是说 还是用户希望将搜索范围限制在所选的组织单位或整个捕获 组织单位范围,等等。 @@ -21187,7 +21190,7 @@ DHIS2 对 Tracker 数据提供额外的保护。除了标准的 在所有访问级别中,该访问级别的限制最少。OPEN 程序中的数据可以 用户可以访问和修改 OPEN 程序中的数据。 -用户可以访问和修改 OPEN 程序中的数据。 使用此访问级别,可以访问和修改捕获范围之外的数据,而无需说明理由或承担后果。 +用户可以访问和修改 OPEN 程序中的数据。 使用此访问级别,可以访问和修改捕获范围之外的数据,而无需任何理由或后果。 无需任何理由或后果。 #### 经审计的{ #audited } diff --git a/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md b/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md index 6b27e4e2..9b8ba993 100644 --- a/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md +++ b/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-240__system-administration-guide-md @@ -1,8 +1,8 @@ --- revision_date: '2024-04-28' tags: -- Manage - DHIS 核心 2.40 版 +- Manage template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-MASTER__system-administration-guide-md b/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-MASTER__system-administration-guide-md index 39ce70a6..a3752d33 100644 --- a/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-MASTER__system-administration-guide-md +++ b/projects/dhis2-single-page-docs/zh/MANAGE__DHIS-CORE-VERSION-MASTER__system-administration-guide-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-21' tags: -- Manage - DHIS核心 主版 +- Manage template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-end-user-manual-md b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-end-user-manual-md index b71750a5..c9661644 100644 --- a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-end-user-manual-md +++ b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-end-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2022-03-10' tags: -- DHIS core version 2.37 - 使用 +- DHIS core version 2.37 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-user-manual-md b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-user-manual-md index 67ffa67d..5c4a9bd8 100644 --- a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-user-manual-md +++ b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-237__dhis2-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2023-02-20' tags: -- DHIS core version 2.37 - 使用 +- DHIS core version 2.37 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-end-user-manual-md b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-end-user-manual-md index f55ded37..1d357516 100644 --- a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-end-user-manual-md +++ b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-end-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-user-manual-md b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-user-manual-md index f6a26753..7b3835e7 100644 --- a/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-user-manual-md +++ b/projects/dhis2-single-page-docs/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__dhis2-user-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-10-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh_CN/.cache_timestamp b/projects/dhis2-single-page-docs/zh_CN/.cache_timestamp index af8dcdbc..893187c1 100644 --- a/projects/dhis2-single-page-docs/zh_CN/.cache_timestamp +++ b/projects/dhis2-single-page-docs/zh_CN/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:17Z \ No newline at end of file +2024-11-05T21:27:24Z \ No newline at end of file diff --git a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md index 4a8629e5..6dafd19e 100644 --- a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-237__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2023-01-13' tags: -- DHIS core version 2.37 - Develop +- DHIS core version 2.37 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md index 4c5cba7c..fe9175af 100644 --- a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-239__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS core version 2.39 - Develop +- DHIS core version 2.39 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md index d9a70177..4f48a222 100644 --- a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-240__developer-manual-md @@ -1,8 +1,8 @@ --- revision_date: '2024-07-02' tags: -- DHIS core version 2.40 - Develop +- DHIS core version 2.40 template: single.html --- diff --git a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md index 08af2201..5058f341 100644 --- a/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md +++ b/projects/dhis2-single-page-docs/zh_CN/DEVELOP__DHIS-CORE-VERSION-MASTER__developer-manual-md @@ -1,8 +1,8 @@ --- -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- DHIS core version master - Develop +- DHIS core version master template: single.html --- @@ -12082,12 +12082,15 @@ below. above called "Date and period format" for the period format and available relative periods. - - For the organisation unit dimension, you can specify the items to be - the organisation unit or sub-units of the organisation unit - associated with the user currently authenticated for the request - using the keys `USER_ORGUNIT` or `USER_ORGUNIT_CHILDREN` as items, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the diff --git a/projects/dhis2-single-page-docs/zh_TW/.cache_timestamp b/projects/dhis2-single-page-docs/zh_TW/.cache_timestamp index 4d2c3221..e4fe33b4 100644 --- a/projects/dhis2-single-page-docs/zh_TW/.cache_timestamp +++ b/projects/dhis2-single-page-docs/zh_TW/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:23:20Z \ No newline at end of file +2024-11-05T21:27:29Z \ No newline at end of file diff --git a/projects/docs-full-site/ar/.cache_timestamp b/projects/docs-full-site/ar/.cache_timestamp index 5955e47b..18c5e451 100644 --- a/projects/docs-full-site/ar/.cache_timestamp +++ b/projects/docs-full-site/ar/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:20:10Z \ No newline at end of file +2024-11-05T21:20:04Z \ No newline at end of file diff --git a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index 7959382e..9449a732 100644 --- a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,6 +1,6 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-05-31' +revision_date: '2024-11-04' tags: - DHIS core version master - Develop @@ -326,12 +326,15 @@ below. above called "Date and period format" for the period format and available relative periods. - - For the organisation unit dimension, you can specify the items to be - the organisation unit or sub-units of the organisation unit - associated with the user currently authenticated for the request - using the keys `USER_ORGUNIT` or `USER_ORGUNIT_CHILDREN` as items, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the @@ -2035,12 +2038,12 @@ For example, to retrieve a list of enrollments from the "WHO RMNCH Tracker" prog The API supports using program indicators which are not associated to the "main" program (that is the program ID specified after `/query/`). -## Tracked entity analytics { #webapi_tei_analytics } +## Tracked entity analytics { #webapi_te_analytics } The tracked entity (TE) analytics API allows querying *TEs with their enrollments and event data* captured in DHIS2. This resource retrieves data from TE, enrollments, events, and data elements across multiple programs, for a given tracked entity type. -### Dimensions and items { #webapi_tei_analytics_dimensions } +### Dimensions and items { #webapi_te_analytics_dimensions } Tracked entity instance dimensions include program attributes (TE attributes), data elements, organization units, and different kinds of periods. The analytics query will simply return TEs matching a set of criteria. @@ -2135,7 +2138,7 @@ Examples: `enrollmentDate=IpHINAT79UW.LAST_YEAR` -### Request query parameters { #webapi_tei_analytics_query_parameters } +### Request query parameters { #webapi_te_analytics_query_parameters } The analytics TE query API supports a range of query parameters. @@ -2894,6 +2897,8 @@ Table: Phases, table types and temporary tables ### Creating hooks { #webapi_create_analytics_table_hook } +You can create hooks with the Maintenance app or with the API. + To create a hook which should run after the resource tables have been populated you can do a *POST* request like this using *JSON* as content type: ``` diff --git a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index 4552faa5..2c778381 100644 --- a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Develop - DHIS core version master +- Develop --- # Metadata { #webapi_metadata } diff --git a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index 764e8c4b..c30f3432 100644 --- a/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/ar/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Develop - DHIS core version master +- Develop --- # Tracker { #webapi_tracker } diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..64e74738 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Audit { #audit } + +## Introduction { #introduction } + +DHIS2 supports a new audit service based on _Apache ActiveMQ Artemis_. Artemis is used as an asynchronous messaging system by DHIS2. + +After an entity is saved to database, an audit message will be created and sent to the Artemis message consumer service. The message will then be processed in a different thread. + +Audit logs can be retrieved from the DHIS2 database. Currently there is no UI or API endpoint available for retrieving audit entries. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Single Audit table { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Column | Type | Description | +| --- | --- | --- | +| auditid | integer | Primary key. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| auditscope | text | METADATA, AGGREGATE, TRACKER | +| klass | text | Audit Entity Java class name. | +| attributes | jsonb | A JSON string with attributes of the audited object. Example: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| data | bytea | Compressed JSON string of the audit entity in byte array format (not humanly readable). | +| createdat | timestamp without time zone | Time of creation. | +| createdby | text | Username of the user performing the audited operation. | +| uid | text | The UID of the audited object. | +| code | text | The code of the audited object. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## Audit Scope { #audit_scope } + +An audit scope is a logical area of the application which can be audited. Currently there are three audit scopes. + +| Scope | Key | Audited objects | +| --- | --- | --- | +| Tracker | TRACKER | Tracked Entity Instance, Tracked Entity Attribute Value, Enrollment, Event. | +| Metadata | METADATA | All metadata objects (e.g. Data Element, Organisation Unit). | +| Aggregate | AGGREGATE | Aggregate Data Value. | + +## Audit Type { #audit_type } + +An audit type is an action that triggers an audit operation. Currently we support the following four types. + +| Name | Key | Description | +| -------- | -------- | ------------------- | +| Read | READ | Object was read. | +| Create | CREATE | Object was created. | +| Update | UPDATE | Object was updated. | +| Delete | DELETE | Object was deleted. | +| Disabled | DISABLED | Disable audit. | + +> **Caution** +> +> The READ audit type may generate a lot of data in the database and may have an impact on the performance. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityinstanceauditid | integer | Primary key. | +| trackedentityinstance | text | Tracked entity instance name. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| comment | text | The code of the audited object. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityattributevalueauditid | integer | Primary key. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | integer | Attribute ID. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| encryptedvalue | text | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentitydatavalueauditid | integer | Primary key. | +| programstageinstanceid | integer | Program stage ID of which the data value belongs to. | +| dataelementid | integer | ID of the data element. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## Breaking the glass { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| Column | Type | Description | +| --- | --- | --- | +| programtempownershipauditid | integer | Primary key. | +| programid | integer | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| reason | text | The reason as inserted in the dialog. | + +## Setup { #audit_configuration } + +The audit system is enabled by default for the following scopes and types. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Types: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +This means that **no action is required** to enable the default audit system. The default setting is equivalent to the following `dhis.conf` configuration. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +The audit can be configured using the _audit matrix_. The audit matrix represents the valid combinations of scopes and types, and is defined with the following properties in the `dhis.conf` configuration file. Each property accepts a semicolon (`;`) delimited list of audit types. + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## Examples { #examples } + +This section demonstrates how to configure the audit system in `dhis.conf`. + +To enable audit of create and update of metadata and tracker only: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +To only audit tracker related objects create and delete: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +To completely disable audit for all scopes: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..e254c8c1 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Overview { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuration { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..47a125ab --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Deployment Architectures { #deployment-architectures } + +## Introduction { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Description| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..6b85fa4d --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introduction { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Later DHIS2 versions require the following software versions to operate. + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. PostGIS database extension version 2.2 or later. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Task| Description | Status | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Month|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Training|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|July|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..67c5bf74 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Start the server + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/ar/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/ar/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..9cb2b364 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Manage +--- + +# Using Gateways for SMS reporting { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +Sending SMS, i.e. from the DHIS2 server to mobile devices, is relatively simple to set up. If all that is required is the sending of notifications to users phones from DHIS2 when certain events occur (messaging, thresholds e.t.c.) only sending SMS is required. + +This can all be configured in the SMS Service Configuration page within the [Mobile Configuration section](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +There is out of the box support for common providers such as *Bulk SMS* and *Clickatell*, and both providers support sending of SMS to numbers in most countries. + +Note also, it is possible to use a different SMS Gateway for sending and receiving SMS. So even if you set up a solution for receiving SMS below, it is still possible to use one of the aforementioned solutions above for sending SMS. + +## Using an Android device as SMS Gateway { #sms_report_android_gateway } + +The simplest solution by far is to use a dedicated Android device as your SMS Gateway. Any phone or tablet running Android OS (4.4, Kitkat or above) should be fine. It will require a constant internet connection, in order to forward messages to your DHIS2 server and it will also need a SIM card to receive the incoming SMS. + +You’ll need to download and install the DHIS2 Android SMS Gateway app on the mobile device. See a list of [releases](https://github.com/dhis2/dhis2-sms-android-gateway/releases) where you can download the latest APK file to install. There are instructions on the app page itself, but essentially you’ll just need to start the app and enter the details of your DHIS2 server (URL, username and password). + +Once this is set up and running, you then enter the phone number of this gateway device in the configuration page of any other mobile device using the DHIS2 Capture App. Then, when SMS are sent from these reporting devices, they will be received on the gateway device and automatically forwarded to the DHIS2 server where they will be processed. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Sending SMS using an Android Device Gateway { #sending-sms-using-an-android-device-gateway } + +This option is currently not supported nor documented. + +## Dedicated SMS Gateways { #sms_report_dedicated_gateway } + +This section discusses the use of more permanent and dedicated SMS gateways and the options available. Each of these options below will involve a provider (or yourself) having an SMPP connection to a phone carrier in country and using this connection to receive incoming SMS and forward them on to your DHIS2 server over the internet using HTTP. + +These solutions can either use a **long number** or **short code**. A long number is a standard mobile phone number of the type that most private people use, i.e. +61 400123123. A short code is simply a short number, such as 311. Short codes typically cost more to set up and maintain. + +### Ensuring incoming SMS to DHIS2 server are formatted correctly { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +When sending incoming SMS to a DHIS2 server via the API you use the following URL: *https:///api/sms/inbound* + +In DHIS2 version 2.34 and below, this endpoint requires the format of inbound SMS to be in a very specific format, i.e. the message itself must be a parameter called text, the phone number of the sender must be a parameter called originator. + +When using all of the below SMS gateway options, when you configure them to forward incoming SMS on to another web service, they will each have their own format, which will be different to the one expected by the DHIS2 API. For this reason then, it’s necessary to reformat them before sending them on to the DHIS2 server. + +One option is to run your own very simple web service, which simply receives the incoming SMS from the gateway provider, reformats it to the one required for DHIS2 and forwards it on to your DHIS2 API. Such a service would need to be written by a software developer. + +In DHIS2 version 2.35, it is planned to support these cases with a templating system for incoming SMS, so you can specify the format of the messages which will be sent from your provider. That way, you can configure the DHIS2 server to accept incoming SMS from any other SMS gateway provider and they can directly send incoming SMS to the DHIS2 API, without the need for such a formatting web service. + +### Using RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/) is a service run by UNICEF in over 50 countries around the world. It is a collection of software which works with in-country phone carriers to enable organisations to design SMS solutions for their projects, such as SMS reporting or awareness campaigns. + +The RapidPro service will involve an SMPP connection to one or more phone carriers in-country, usually via a shortcode, potentially dedicated to Health work for NGOs. It’s then possible to add a webhook so that incoming SMS are forwarded to another web service, such as the formatting web service described above. If the shortcode is used for other purposes as well, it may be necessary to add the phone numbers of your reporting devices to a separate group, so that only the incoming SMS from those devices is forwarded to the webhook. + +RapidPro is currently set up and running in roughly half of the countries which are currently using or piloting DHIS2. Before considering one of the solutions below, which can be costly in terms of both finance and time, it is worth getting in contact with Unicef to see if RapidPro is available and if it can be used for health reporting in your country. + +### Using commercial SMS gateway providers { #using-commercial-sms-gateway-providers } + +Of the commercial SMS gateway providers mentioned in the Sending SMS section above, they will usually have capability to *send* SMS in most countries but can only support *receiving* SMS in a limited amount of countries. The majority of countries they support receiving SMS in are not those using DHIS2. Of the countries that are using DHIS2, most are already covered by having a RapidPro service running in-country. + +However, it is worth researching what commercial options are available for your country. In some countries there will be small national companies that provide SMS services, they’ll have existing SMPP connections with the phone providers you can use. + +### Using phone carriers directly { #using-phone-carriers-directly } + +If none of the above solutions are available it would be necessary to approach the phone carriers in your country directly. The first question to ask them would be whether they are aware of any companies which are operating SMPP connections with them which you may be able to approach. + +If not, as a final option, you would need to consider setting up and maintaining your own SMPP connection with the phone provider. However, not all phone providers might offer such a service. + +You would need to run your own server running software such as [Kannel](https://www.kannel.org/), which connects (usually via a VPN) to an SMPP service running in the phone providers network. With this in place, any incoming SMS for the configured long number or shortcode are sent from the phone carrier to your Kannel server and you can then forward on these messages as above. + +### Receiving concatenated or multipart SMS { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +When selecting an SMS gateway then, it is important to confirm that the phone carrier used supports concatenated SMS. Most of them will support this, but it is important to confirm as the SMS functionality will not work if SMS are split. This relies on something called a UDH (User Data Header). When discussing with providers then, ensure you ask if it is supported. + diff --git a/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..a9150b2f --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..6384a1be --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Creating a user to run DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Important** +> +> You should not run the DHIS2 server as a privileged user such as root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Creating the configuration directory { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## PostgreSQL installation { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Java installation { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Installation +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Verify that your installation is correct by invoking: +``` +java -version +``` + +## DHIS2 configuration { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +A configuration file for PostgreSQL corresponding to the above setup has +these properties: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Tomcat and DHIS2 installation { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Running DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..74ff92d1 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/ar/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/ar/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..c93e3ddc --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Cloud Hosting { #cloud-hosting } + +## Introduction { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/ar/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/ar/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..48754856 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Physical Hosting { #physical-hosting } + +## Introduction { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/ar/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/ar/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..c1f59860 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Requirements { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusion { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/ar/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/ar/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..e5f69274 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Web server cluster configuration { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Clustering overview { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +There are a few aspects to configure in order to run DHIS 2 +in a cluster. + +* A Redis data store must be installed and connection information must +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +apps and file uploads, either through the *AWS S3 cloud filestorage* option +or a shared network drive. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +across the cluster instances. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Redis shared data store cluster configuration { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Specifies where the redis server is running. Defaults to *localhost*. Mandatory. + +- *redis.port*: Specifies the port in which the redis server is listening. Defaults to *6379*. Optional. + +- *redis.password*: Specifies the authentication password. If a password is not required it can be left blank. + +- *redis.use.ssl*: Specifies whether the Redis server has SSL enabled. Defaults to false. Optional. Defaults to *false*. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Files folder configuration { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +There are two ways to achieve a shared location: + +* Use the *AWS S3 cloud filestorage* option. Files will be stored in an +S3 bucket which is automatically shared by all DHIS 2 instances in the cluster. +See the *File store configuration* section for guidance. +* Set up a shared folder which is shared among all DHIS 2 instances and +servers in the cluster. On Linux this can be achieved with *NFS* (Network File System) +which is a distributed file system protocol. Note that only the `files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## Load balancer configuration { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/ar/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/ar/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..daabc003 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..e30ec704 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Encryption configuration { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```properties +encryption.password = xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## System configuration { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +Sets the system in read-only mode. This is useful when you run DHIS 2 on a read-only replica database, to avoid DHIS 2 performing database write operations. Can be `on` or `off`. Default is `off`. + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +Enables or disables the sensitive database table protection for SQL views. This will prohibit database tables with sensitive data to be queried through SQL views. Disabling is not recommended. Can be `on` or `off`. Default is `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Enables or disables execution of server-side program rules. This refers to program rules which have actions for assigning values, sending messages or scheduling messages to be sent. Can be `on` or `off`. Default is `on`. + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..c21b3ffa --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# File store configuration { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..9371152b --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Google service account configuration { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Create a Google service account. Please consult the [Google identify + platform](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + documentation. + + - Visit the [Google cloud console](https://console.cloud.google.com) + and go to API Manager \> Credentials \> Create credentials \> + Service account key. Select your service account and JSON as key + type and click Create. + + - Rename the JSON key to *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..1a15f424 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## LDAP configuration { #install_ldap_configuration } + +DHIS2 is capable of using an LDAP server for authentication of users. +For LDAP authentication it is required to have a matching user in the +DHIS2 database per LDAP entry. The DHIS2 user will be used to represent +authorities / user roles. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +The LDAP configuration properties are explained below: + +- *ldap.url:* The URL of the LDAP server for which to authenticate + against. Using SSL/encryption is strongly recommended in order to + make authentication secure. As example URL is + *ldaps://domain.org:636*, where ldaps refers to the protocol, + *domain.org* refers to the domain name or IP address, and *636* + refers to the port (636 is default for LDAPS). +- *ldap.manager.dn:* An LDAP manager user is required for binding to + the LDAP server for the user authentication process. This property + refers to the DN of that entry. I.e. this is not the user which will + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* The password for the LDAP manager user. +- *ldap.search.base:* The search base, or the distinguished name of + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* The filter for matching DNs of entries in the + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..ce2166a7 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Application logging { #install_application_logging } + +This section covers application logging in DHIS2. + +## Log files { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Log configuration { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Common log levels are `DEBUG`, `INFO`, `WARN` and `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..e3e07769 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Monitoring { #monitoring } + +## Introduction { #monitoring } + +DHIS2 can export [Prometheus](https://prometheus.io/) compatible metrics for monitoring DHIS2 nodes. + +This section describes the steps required to install Prometheus and [Grafana](https://grafana.com/) using a standard installation procedure (`apt-get`) and Docker and configure Grafana to show DHIS2 metrics. + +For a list of the metrics exposed by a DHIS2 instance, please refer to the monitoring guide on [GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Setup { #monitoring_setup } + +The next sections describe how to set up Prometheus and Grafana and how to set up Prometheus to pull data from one or more DHIS2 instances. + +### Installing Prometheus + Grafana on Ubuntu and Debian { #prometheus } + +- Download Prometheus from the official [download](https://prometheus.io/download/) page. + +- Make sure to filter for your operating system and your CPU architecture (Linux and amd64). + +- Make sure to select the latest stable version, and not the “rc” one, as it is not considered stable enough for now. + +- Download the archive, either by clicking on the link or using `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Untar the zip + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +The archive contains many important files, but here is the main ones you need to know. + +- `prometheus.yml`: the configuration file for Prometheus. This is the file that you are going to modify in order to tweak your Prometheus server, for example to change the scraping interval or to configure custom alerts; +- `prometheus`: the binary for your Prometheus server. This is the command that you are going to execute to launch a Prometheus instance on your Linux box; +- `promtool`: this is a command that you can run to verify your Prometheus configuration. + +### Configuring Prometheus as a service { #prometheus_service } + +- Create a `Prometheus` user with a `Prometheus` group. + +``` +useradd -rs /bin/false prometheus +``` + +- Move the Prometheus binaries to the local bin directory + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Create a folder in the `/etc` folder for Prometheus and move the console files, console libraries and the prometheus configuration file to this newly created folder. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Create a data folder at the root directory, with a prometheus folder inside. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Create a Prometheus service { #prometheus_create_service } + +To create a Prometheus _systemd_ service, head over to the `/lib/systemd/system` folder and create a new systemd file named `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Edit the newly created file, and paste the following content inside: + +```properties +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/local/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +- Save the file and enable the Prometheus service at startup + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Test that the service is running + +``` +systemctl status prometheus + +... +Active: active (running) +``` + +- It should be now possible to access the Prometheus UI by accessing `http://localhost:9090`. + + +### Set-up Nginx reverse proxy { #prometheus_nginx } + +Prometheus does not natively support authentication or TLS encryption. If Prometheus has to be exposed outside the boundaries of the local network, it is important to enable authentication and TLS encryption. The following steps show how to use Nginx as a reverse proxy. + +- Install Nginx, if not already installed + +``` +apt update +apt-get install nginx +``` + +By default, Nginx will start listening for HTTP requests in the default `http` port, which is `80`. + +If there is already an Nginx instance running on the machine and you are unsure on which port it is listening on, run the following command: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +The last column shows the port used by Nginx (`http` -> `80`). + +By default, Nginx configuration is located in `/etc/nginx/nginx.conf` + +Make sure that `nginx.conf` contains the `Virtual Host Config` section + +``` +## +# Virtual Host Configs +## + +include /etc/nginx/conf.d/*.conf; +include /etc/nginx/sites-enabled/*; + +``` + +- Create a new file in `/etc/nginx/conf.d` called `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Edit the newly created file, and paste the following content inside: + +``` +server { + listen 1234; + + location / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx and browse to http://localhost:1234 + +``` +systemctl restart nginx + +# in case of start-up errors +journalctl -f -u nginx.service +``` + +- Configure Prometheus for reverse proxying, by editing `/lib/systemd/system/prometheus.service` and add the following argument to the list of arguments passed to the Prometheus executable. + +``` +--web.external-url=https://localhost:1234 +``` + +- Restart the service + +``` +systemctl daemon-reload +systemctl restart prometheus + + +# in case of errors +journalctl -f -u prometheus.service +``` + +### Enable reverse proxy authentication { #prometheus_auth } + +This section shows how to configure basic authentication via the reverse proxy. If you need a different authentication mechanism (SSO, etc.) please check the relevant documentation. + +- Make sure that `htpasswd` is installed on the system + +``` +apt-get install apache2-utils +``` + +- Create an authentication file + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Choose a strong password, and make sure that the pass file was correctly created. + +- Edit the previously created Nginx configuration file (`/etc/nginx/conf.d/prometheus.conf`), and add the authentication information. + +``` +server { + listen 1234; + + location / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx + +``` +systemctl restart nginx + +# in case of errors +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` should now prompt for username and password. + +### Installing Grafana on Ubuntu and Debian { #grafana } + +- Add a `gpg` key and install the OSS Grafana package from APT repo + +```sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +``` + +- If the system is using `systemd`, a new `grafana-service` is automatically created. Check the `systemd` file to gain some insight on the Grafana installation + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +This file is quite important because it offers information about the newly installed Grafana instance. + +The file shows: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- Start the server + +``` +systemctl start grafana-server +``` + +- Access Grafana web console: http://localhost:3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- Configure Prometheus as a Grafana datasource + +Access to the datasources panel by clicking on `Configuration` > `Data sources` via the left menu. + +Click on `Add a datasource` + +Select a Prometheus data source on the next window. + +Configure the datasource according to the Prometheus setup (use authentication, TSL, etc.) + +### Installing Prometheus + Grafana using Docker { #prometheus_grafana_docker } + +This section describes how to start-up a Prometheus stack containing Prometheus and Grafana. + +The configuration is based on this project: https://github.com/vegasbrianc/prometheus + +- Clone this Github project: https://github.com/vegasbrianc/prometheus + +- Start the Prometheus stack using: + +``` +docker stack deploy -c docker-stack.yml prom +``` + +The above command, may result in the following error: + +*This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again* + +If that happens, you need to start Swarm. You can use the following command line: + +``` +docker swarm init --advertise-addr +``` + +Once this command runs successfully, you should be able to run the previous command without problems. + +The stack contains also a Node exporter for Docker monitoring. If you are not interested in Docker monitoring, you can comment out the relevant sections in the `docker-stack.yml` file: + +- `node-exporter` +- `cadvisor` + +- To stop the Prometheus stack: + +``` +docker stack rm prom +``` + +The Prometheus configuration (`prometheus.yml`) file is located in the `prometheus` folder. + +- Access Grafana web console at: http://localhost:3000 with username: `admin` and password: `foobar` + +### Configure Prometheus to pull metrics from one or more DHIS2 instances { #prometheus_dhis2 } + +Prior to using Prometheus, it needs basic configuring. Thus, we need to create a configuration file named `prometheus.yml` + +> **Note** +> +> The configuration file of Prometheus is written in YAML which strictly forbids to use tabs. If your file is incorrectly formatted, Prometheus will not start. Be careful when you edit it. + +Prometheus’ configuration file is divided into three parts: `global`, `rule_files`, and `scrape_configs`. + +In the global part we can find the general configuration of Prometheus: `scrape_interval` defines how often Prometheus scrapes targets, `evaluation_interval` controls how often the software will evaluate rules. Rules are used to create new time series and for the generation of alerts. + +The `rule_files` block contains information of the location of any rules we want the Prometheus server to load. + +The last block of the configuration file is named `scape_configs` and contains the information which resources Prometheus monitors. + +A simple DHIS2 Prometheus monitoring file looks like this example: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +The global `scrape_interval` is set to 15 seconds which is enough for most use cases. + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +Prometheus may or may not run on the same server as DHIS2: in the above configuration, it is assumed that Prometheus monitors only one DHIS2 instance, running on the same server as Prometheus, so we use `localhost`. + +### Configure the DHIS2 exporter { #dhis2_metrics_conf } + +The monitoring subsystem is disabled by default in DHIS2. + +Each metrics cluster has to be explicitly enabled in order for the metrics to be exported. To configure DHIS2 to export one or more metrics, check this [document](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..6d3f4ec2 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +# OpenID Connect (OIDC) configuration { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* Google +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### IdP claims and mapping of users { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Configure the Identity Provider for OIDC { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### Redirect URL { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Search for and select *App registrations*. +2. Click *New registration*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. Click *Register*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +In the example below we will configure the Norwegian governmental _HelseID_ OIDC provider using the provider key `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Requirements { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +The following `dhis.conf` section shows an example of how to enable JWT authentication for an API-based client. + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..7fe5913e --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### PostgreSQL performance tuning { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Determines maximum number of connections which PostgreSQL will allow. + +```properties +shared_buffers = 3GB +``` + +Determines how much memory should be allocated exclusively for +PostgreSQL caching. This setting controls the size of the kernel shared +memory which should be reserved for PostgreSQL. Should be set to around +40% of total memory dedicated for PostgreSQL. + +```properties +work_mem = 24MB +``` + +Determines the amount of memory used for internal sort and hash +operations. This setting is per connection, per query so a lot of memory +may be consumed if raising this too high. Setting this value correctly +is essential for DHIS2 aggregation performance. + +```properties +maintenance_work_mem = 1GB +``` + +Determines the amount of memory PostgreSQL can use for maintenance +operations such as creating indexes, running vacuum, adding foreign +keys. Increasing this value might improve performance of index creation +during the analytics generation processes. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Sets the memory used for buffering during the WAL write process. +Increasing this value might improve throughput in write-heavy systems. + +```properties +synchronous_commit = off +``` + +Specifies whether transaction commits will wait for WAL records to be +written to the disk before returning to the client or not. Setting this +to off will improve performance considerably. It also implies that there +is a slight delay between the transaction is reported successful to the +client and it actually being safe, but the database state cannot be +corrupted and this is a good alternative for performance-intensive and +write-heavy systems like DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Specifies the delay between WAL write operations. Setting this to a high +value will improve performance on write-heavy systems since potentially +many write operations can be executed within a single flush to disk. + +```properties +random_page_cost = 1.1 +``` + +*SSD only.* Sets the query planner's estimate of the cost of a non-sequentially-fetched disk page. A low value will cause the system to prefer index scans over sequential scans. A low value makes sense for databases running on SSDs or being heavily cached in memory. The default value is 4.0 which is reasonable for traditional disks. + +```properties +max_locks_per_transaction = 96 +``` + +Specifies the average number of object locks allocated for each transaction. This is set mainly to allow upgrade routines which touch a large number of tables to complete. + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +Restart PostgreSQL by invoking the following command: + +```sh +sudo systemctl restart postgresql +``` + +## Read replica database configuration { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Working with the PostgreSQL database { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..f54f9715 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## Reverse proxy configuration { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instances of DHIS2 on the same server. It also makes it possible to + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + different than 80 which reduces the consequences of session + hijacking. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Basic nginx setup { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx can now be started, reloaded and stopped with the following +commands: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Enabling SSL with nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Enabling caching with nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Rate limiting with nginx { #install_rate_limiting } + +Certain web API calls in DHIS 2, like the `analytics` APIs, are compute intensive. As a result it is favorable to rate limit these APIs in order to allow all users of the system to utilize a fair share of the server resources. Rate limiting can be achieved with `nginx`. There are numerous approaches to achieving rate limiting and this is intended to document the nginx-based approach. + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +The various elements of the configuration can be described as: + +- *limit_req_zone $binary_remote_addr*: Rate limiting is done per request IP. +- *zone=limit_analytics:20m*: A rate limit zone for the analytics API which can hold up to 10 MB of request IP addresses. +- *rate=20r/s*: Each IP is granted 5 requests per second. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +For a full explanation please consult the [nginx documentation](https://www.nginx.com/blog/rate-limiting-nginx/). + +### Making resources available with nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/ar/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/ar/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..d7026299 --- /dev/null +++ b/projects/docs-full-site/ar/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/cs/.cache_timestamp b/projects/docs-full-site/cs/.cache_timestamp index c8c628cd..0783c494 100644 --- a/projects/docs-full-site/cs/.cache_timestamp +++ b/projects/docs-full-site/cs/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:20:13Z \ No newline at end of file +2024-11-05T21:20:17Z \ No newline at end of file diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md index 4b19a590..d541a2aa 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/analytics.md" revision_date: '2023-12-13' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Analytika { #analytics } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md index fde4c28f..6d584ac1 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Aplikace { #apps } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md index 750202da..6b7340fd 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/audit.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Audit { #audit } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md index 15c45ae1..df98c83f 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Schválení dat { #data-approval } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md index d46ac814..907a76c1 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data.md" revision_date: '2022-04-04' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Data { #data } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md index 2f72f085..9cdb23c3 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-store.md" revision_date: '2022-03-24' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Data store { #data-store } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md index 96d0b22d..c721c6bd 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-validation.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Ověření dat { #data-validation } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md index 2affff31..30423781 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # E-mail { #email } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md index c2f0e2a3..6bbbde9d 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/i18n.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # I18n { #i18n } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md index 4aea8381..86a4bb71 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/overview.md" revision_date: '2022-02-28' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Přehled { #webapi } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md index 1dfca2c9..838e6e56 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/maintenance.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Údržba { #maintenance } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md index f6d15e2a..18d659b2 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Zprávy { #messaging } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md index 15cd049d..2f7cf11e 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata-gist.md" revision_date: '2021-11-23' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md index d4ad339c..a9f7d958 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata.md" revision_date: '2023-08-03' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Metadata { #metadata } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md index 6531dc56..dc2671e3 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/new-tracker.md" revision_date: '2024-05-21' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Nový Tracker { #new-tracker } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md index b2a98441..a2595b7b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Profil organizační jednotky { #org_unit_profile } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md index 0d9fa5a8..e4c45696 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/scheduling.md" revision_date: '2022-05-05' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Plánování { #webapi_scheduling } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md index 993769a2..0c6df765 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/settings-and-configuration.md" revision_date: '2023-12-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Nastavení a konfigurace { #settings-and-configuration } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md index f5765e41..dfdd820b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Sdílení { #sharing } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md index 9b9e2b8e..e1b15ad3 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # SMS { #sms } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md index 843d6c4c..bbceba1b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/synchronization.md" revision_date: '2022-05-05' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Synchronizace { #webapi_synchronization } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md index 57fdc78d..500da49b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/tracker.md" revision_date: '2024-01-05' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Trasovač { #tracker } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md index efb81c29..d70bcac6 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/users.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Uživatelé { #users } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md index 509ce5c2..03a669f8 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/visualizations.md" revision_date: '2022-03-24' tags: -- DHIS core version 2.38 - Vývoj +- DHIS core version 2.38 --- # Vizualizace { #visualizations } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md index 449e89e3..5492dd0b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/developer/web-api/metadata.md" revision_date: '2024-04-26' tags: -- DHIS základní verze 2.40 - Vývoj +- DHIS základní verze 2.40 --- # Metadata { #metadata } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md index 58726452..27397c14 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/analytics.md" revision_date: '2024-05-02' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Analytika { #analytics } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md index e7a4cbb6..f0144ad6 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Aplikace { #apps } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md index 62fb989c..2f8aa746 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/audit.md" revision_date: '2023-06-23' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Audit { #audit } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md index 806a6f71..259486ad 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Schválení dat { #data-approval } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md index 8cbf10e1..6139b084 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md index dfa48da2..0cd7c672 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-exchange.md" revision_date: '2024-06-26' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Výměna dat { #data-exchange } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md index c237512a..47e5a25f 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Data store { #data-store } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md index b84dabe3..5f1743c7 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # E-mail { #email } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md index 97bafebf..d841ec1c 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md index 10f6e3f6..9ec82064 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # I18n { #i18n } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md index e8737c81..b6f120ed 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Přehled { #webapi } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md index 50a55038..93029fd9 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Údržba { #maintenance } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md index 71d35437..0881d250 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Zprávy { #messaging } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md index de378c53..0947b6c8 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md index eea6993f..81d41351 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata.md" revision_date: '2024-05-21' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Metadata { #metadata } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md index 5f377385..9b5702c2 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Profil organizační jednotky { #org_unit_profile } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md index 675ff5eb..667734cb 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md index 21027f26..ef85d4c3 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/route.md" revision_date: '2024-09-24' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Route { #route } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md index fefcd45b..a7b2f0d0 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Plánování { #webapi_scheduling } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md index ea54aefb..8fecb2a3 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Nastavení a konfigurace { #settings-and-configuration } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md index bc78ce0a..e1ff12b0 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Sdílení { #sharing } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md index e22f5d45..e613184f 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # SMS { #sms } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md index e6ccfa7d..9fce2ccd 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Synchronizace { #webapi_synchronization } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md index 4dffd11d..11f11551 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker-old.md" revision_date: '2024-05-23' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Tracker (deprecated APIs) { #tracker-deprecated-apis } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md index e4aa3fe9..d0dcb586 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker.md" revision_date: '2024-07-02' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Trasovač { #tracker } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md index d4bddf7b..66c7da39 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Vývoj - DHIS core version 2.41 +- Vývoj --- # Uživatelé { #users } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index 70d33d6d..fa40dded 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,9 +1,9 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Analytika { #analytics } @@ -313,12 +313,15 @@ Níže je uvedeno několik věcí, na které je třeba dávat pozor při použí above called "Date and period format" for the period format and dostupná relativní období. - - For the organisation unit dimension, you can specify the items to be - organizační jednotku nebo dílčí jednotky organizační jednotky - associated with the user currently authenticated for the request - pomocí klíčů `USER_ORGUNIT` nebo `USER_ORGUNIT_CHILDREN` jako položek, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md index 136cff87..e3409e7e 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Aplikace { #apps } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md index fc6fc984..dc868557 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/audit.md" revision_date: '2024-06-24' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Audit { #audit } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md index 3dc794d5..17e1b67b 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Schválení dat { #data-approval } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md index b79a6fe6..93114bac 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md index 15b5d430..1ed31c55 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-exchange.md" revision_date: '2024-09-18' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Výměna dat { #data-exchange } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md index b3884ff4..e730acec 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data.md" revision_date: '2024-05-23' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Data { #data } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md index 6cd4cfc5..705e79c9 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Data store { #data-store } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md index 9e852fe1..71c24c89 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-validation.md" revision_date: '2024-03-13' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Ověření dat { #data-validation } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md index d31c07b5..cb7951ad 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md index 99ccd4e5..119f7195 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # I18n { #i18n } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md index 494974f2..a3ce8322 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Přehled { #webapi } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md index ac98e0dc..602523d9 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Údržba { #maintenance } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md index 1baa747e..6bb6e2e6 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Zprávy { #messaging } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md index 5e9ea152..c11d3147 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index 5bd1f10b..7dfc6b9c 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Metadata { #webapi_metadata } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md index 87883812..02223986 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Profil organizační jednotky { #org_unit_profile } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md index 9c293b3b..7b4ed83c 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md index 78a1ef19..f006c65e 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/route.md" revision_date: '2024-05-15' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Route { #route } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md index adf476d7..b9110ae0 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Plánování { #webapi_scheduling } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md index 1b6d4969..3277fe77 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Nastavení a konfigurace { #settings-and-configuration } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md index 1a7595ca..b45b7c47 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Sdílení { #sharing } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md index 780be007..2fcc9bb9 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # SMS { #sms } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md index 031d4252..a4fce5a7 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Synchronizace { #webapi_synchronization } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index 358db98a..67ac2184 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Tracker { #webapi_tracker } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md index e4db536b..e3069358 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Uživatelé { #users } diff --git a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md index 34298efa..7ec239c4 100644 --- a/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md +++ b/projects/docs-full-site/cs/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/visualizations.md" revision_date: '2024-03-05' tags: -- Vývoj - Hlavní verze jádra DHIS +- Vývoj --- # Vizualizace { #visualizations } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index 77f15904..b946498b 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Implementace - DHIS core version 2.35 - Android app version 2.3.0 -- Implementace --- # Poznámka k vydání aplikace DHIS2 pro Android verze 2.3 { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index 37960aae..afc781dc 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Implementace - Android app version 2.4.0 - DHIS core version 2.36 -- Implementace --- # DHIS2 Android App version 2.4 Release Notes { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index a13f4568..6689cc14 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core verze 2.37 -- Android app version 2.5.0 - Implementace +- Android app version 2.5.0 --- # DHIS2 Android App version 2.5 Release Notes { #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md index 9b5ab676..9c119aae 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.6/ReleaseNote-2.6.0.md" revision_date: '2022-04-18' tags: -- DHIS core version 2.38 -- Android app version 2.6.0 - Implementace +- Android app version 2.6.0 +- DHIS core version 2.38 --- # DHIS2 Android App version 2.6 Release Notes { #dhis2-android-app-version-26-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index cab29962..b0288c5b 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Implementace - Android app version 2.7.0 - DHIS základní verze 2.39 -- Implementace --- # DHIS2 Android App version 2.7 Release Notes { #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index ee4a1089..70a88c59 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Android app version 2.8.0 -- DHIS základní verze 2.40 - Implementace +- DHIS základní verze 2.40 +- Android app version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md index 2d7bf87c..806b306c 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/2.9/android-releases/2.9/ReleaseNote-2.9.0.md" revision_date: '2023-11-20' tags: -- Android app version 2.9.0 -- DHIS základní verze 2.40 - Implementace +- DHIS základní verze 2.40 +- Android app version 2.9.0 --- # DHIS2 Android App version 2.9 Release Notes { #dhis2-android-app-version-29-release-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index e91a4c24..5aa101b2 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Implementace +- DHIS core version 2.35 --- # Poznámka k verzi DHIS verze 2.35 { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index 5b4f6534..36a34e64 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Implementace +- DHIS core version 2.35 --- # 2.35 Poznámky k upgradu { #235-upgrade-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 50544028..5ff49100 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Implementace +- DHIS core version 2.36 --- # DHIS version 2.36 Release Note { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index 3bd8796a..11c794d5 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Implementace +- DHIS core version 2.36 --- # 2.36 Upgrade Notes { #236-upgrade-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md index 1f2db296..2837f5fc 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/ReleaseNote-2.38.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.38 - Implementace +- DHIS core version 2.38 --- # DHIS version 2.38 Release Note { #dhis-version-238-release-note } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md index 5b0e216c..cd5973ab 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.38 - Implementace +- DHIS core version 2.38 --- # 2.38 Upgrade Notes { #238-upgrade-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index ab3380b5..6d852846 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS základní verze 2.39 - Implementace +- DHIS základní verze 2.39 --- # DHIS version 2.39 Release Note { #dhis-version-239-release-note } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index 6cced6c7..898c95d0 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS základní verze 2.39 - Implementace +- DHIS základní verze 2.39 --- # 2.39 Upgrade Notes { #239-upgrade-notes } diff --git a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 82922c46..f12c544b 100644 --- a/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/cs/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS základní verze 2.40 - Implementace +- DHIS základní verze 2.40 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..fc0d4050 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Audit { #audit } + +## Úvod { #introduction } + +DHIS2 podporuje novou službu auditu založenou na _Apache ActiveMQ Artemis_. Artemis používá jako asynchronní systém zasílání zpráv DHIS2. + +Po uložení entity do databáze bude vytvořena zpráva auditu a odeslána spotřebitelské službě zpráv Artemis. Zpráva bude poté zpracována v jiném vláknu. + +Protokoly auditu lze získat z databáze DHIS2. V současné době není k dispozici žádný koncový bod uživatelského rozhraní ani rozhraní API pro načítání záznamů auditu. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Jedna tabulka auditu { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Sloupec | Typ | Popis | +| --- | --- | --- | +| auditid | celé číslo | Primární klíč. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| auditscope | text | METADATA, AGGREGATE, TRACKER | +| klass | text | Název entity auditu Java třídy. | +| atributy | jsonb | Řetězec JSON s atributy auditovaného objektu. Příklad: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| data | bytea | Komprimovaný řetězec JSON auditní entity ve formátu bajtového pole (nečitelný pro lidi). | +| createdat | časové razítko bez časového pásma | Doba vytvoření. | +| createdby | text | Uživatelské jméno uživatele provádějícího auditovanou operaci. | +| uid | text | UID auditlovaného objektu. | +| code | text | Kód auditovaného objektu. | + +Služba auditu využívá dva nové koncepty: _Audit Scope_ a _Audit Type_. + +## Rozsah auditu { #audit_scope } + +Rozsah auditu je logická oblast aplikace, kterou lze auditovat. V současné době existují tři rozsahy auditu. + +| Scope | Klíč | Auditované objekty | +| --- | --- | --- | +| Trasovač | TRACKER | Instance trasované entity, hodnota atributu trasované entity, registrace, událost. | +| Metadata | METADATA | Všechny objekty metadat (např. datový prvek, organizační jednotka). | +| Aggregate | AGGREGATE | Hodnota souhrnných dat. | + +## Typ auditu { #audit_type } + +Typ auditu je akce, která spouští operaci auditu. V současné době podporujeme následující čtyři typy. + +| Název | Klíč | Popis | +| -------- | -------- | ------------------- | +| Číst | READ | Objekt byl přečten. | +| Vytvořit | VYTVOŘIT | Objekt byl vytvořen. | +| Aktualizace | AKTUALIZACE | Objekt byl aktualizován. | +| Vymazat | SMAZAT | Objekt byl smazán. | +| Vypnuto | VYPNUTO | Vypnout audit | + +> **Pozor** +> +> Typ auditu READ může generovat velké množství dat v databázi a může mít dopad na výkon. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Sloupec | Typ | Popis | +| --- | --- | --- | +| trackedentityinstanceauditid | celé číslo | Primární klíč. | +| trackedentityinstance | text | Tracked entity instance name. | +| created | časové razítko bez časového pásma | Doba vytvoření. | +| accessedby | text | Uživatelské jméno uživatele provádějícího auditovanou operaci. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| comment | text | Kód auditovaného objektu. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Sloupec | Typ | Popis | +| --- | --- | --- | +| trackedentityattributevalueauditid | celé číslo | Primární klíč. | +| trackedentityinstanceid | celé číslo | ID instance, ke které hodnota atributu patří. | +| trackedentityattributeid | celé číslo | Attribute ID. | +| created | časové razítko bez časového pásma | Doba vytvoření. | +| modifiedby | text | Uživatelské jméno uživatele provádějícího auditovanou operaci. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | Hodnota kontrolovaného objektu. | +| encryptedvalue | text | Zašifrovaná hodnota, pokud je nastaven příznak důvěrnosti. | + +Tato data lze získat prostřednictvím [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Sloupec | Typ | Popis | +| --- | --- | --- | +| trackedentitydatavalueauditid | celé číslo | Primární klíč. | +| programstageinstanceid | celé číslo | ID fáze programu, ke které datová hodnota patří. | +| dataelementid | celé číslo | ID datového prvku. | +| created | časové razítko bez časového pásma | Doba vytvoření. | +| modifiedby | text | Uživatelské jméno uživatele provádějícího auditovanou operaci. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | Hodnota kontrolovaného objektu. | +| providedelsewhere | bool | Označuje, zda uživatel zadal hodnotu jinde nebo ne. | + +Tato data lze získat prostřednictvím [API](#webapi_tracked_entity_data_value_audits). + +## Rozbití skla { #breaking-the-glass } + +Funkce prolomení skla umožňuje přístup k záznamům, ke kterým uživatel DHIS2 za zvláštních okolností přístup nemá. V důsledku toho musí uživatelé zadat důvod pro přístup k takovým záznamům. + +Video vysvětlující, jak to funguje, najdete na našem kanálu YouTube [zde](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +Událost rozbití skla je uložena v tabulce `programtempownershipaudit`, popsané níže: + +| Sloupec | Typ | Popis | +| --- | --- | --- | +| programtempownershipauditid | celé číslo | Primární klíč. | +| programid | celé číslo | ID programu, ke kterému trasovaná entita patří. | +| trackedentityinstanceid | celé číslo | ID instance, ke které hodnota atributu patří. | +| created | časové razítko bez časového pásma | Doba vytvoření. | +| accessedby | text | Uživatelské jméno uživatele provádějícího auditovanou operaci. | +| důvod | text | Důvod, jak je uvedeno v dialogovém okně. | + +## Nastavení { #audit_configuration } + +Systém auditu je standardně povolen pro následující rozsahy a typy. + +Rozsahy (rozlišují se malá a velká písmena): + +- `READ` +- `VYTVOŘIT` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Typy: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +To znamená, že **není vyžadována žádná akce** k aktivaci výchozího systému auditu. Výchozí nastavení je ekvivalentní následující konfiguraci `dhis.conf`. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +Audit lze nakonfigurovat pomocí _audit matrix_. Matice auditu představuje platné kombinace rozsahů a typů a je definována pomocí následujících vlastností v konfiguračním souboru `dhis.conf`. Každá vlastnost přijímá seznam typů auditu oddělený středníkem (`;`). + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) je projekt s otevřeným zdrojovým kódem, jehož cílem je vybudovat multiprotokolový, embeddovatelný, velmi výkonný, klastrovaný asynchronní systém zasílání zpráv. Je součástí DHIS2 od verze 2.31 a používá se jako systém pro zpracování protokolů auditu. + +Ve výchozím nastavení DHIS2 spustí vestavěný server Artemis, který aplikace interně používá k ukládání událostí auditu a přístupu k nim. + +Pokud však již máte server Artemis, můžete se k němu připojit z DHIS2 a odesílat události auditu, jak je popsáno v naší [oficiální dokumentaci](#webapi_amqp_configuration): v tomto nastavení budou události auditu proudit z DHIS2 do externího systému Artemis . + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) je výchozí knihovna protokolování DHIS2 používaná ke zpracování výstupních zpráv. Používá se k ovládání toho, jaké události se zaznamenávají do kterého souboru. + +Aplikace dodává [výchozí konfigurační soubor log4j2](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), který dává pokyn, jaké informace se mají protokolovat a kam (konzole). DHIS2 se poté postará o import tohoto souboru a protokolování instrukcí, jak je popsáno v [třída konfigurace log4j](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), tedy přesměrování výstupu z konzole do souborů. + +Od 2.36 do 2.38 se soubor protokolu auditu `dhis-audit.log` otočí [každý den o půlnoci](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +Příklad vlastní konfigurace log4j2 lze nalézt [zde](): ukazuje, jak nakonfigurovat DHIS2 tak, aby ukládal všechny protokoly do externího úložiště, střídal je na týdenní bázi a uchovával je po dobu 30 dnů. Přečtěte si prosím [sekci protokolování aplikací](#install_application_logging), jak jej používat. + +## Příklady { #examples } + +Tato část ukazuje, jak nakonfigurovat systém auditu v `dhis.conf`. + +Chcete-li povolit audit vytváření a aktualizace pouze metadat a sledování: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +Chcete-li pouze vytvořit a odstranit objekty související se sledováním: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +Chcete-li úplně zakázat audit pro všechny rozsahy: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +Doporučujeme uchovávat auditní záznamy v souboru, jako standardně ve verzi 2.38. U starších verzí následující konfigurace ukládá protokoly auditu do souboru `$DHIS2_HOME/logs/dhis-audit.log`: + +```properties +audit.database = off +audit.logger = on +``` + +Chcete-li uložit data auditu do databáze, přidejte do svého souboru `dhis.conf` následující (výchozí do verze 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +Chcete-li extrahovat protokoly z tabulky `audit`, můžete použít [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) ze systému, kde běží DHIS2: + +``` +$ python extract_audit.py extract +``` + +Úplné podrobnosti naleznete v dokumentaci. + +Chcete-li analyzovat položky ze souboru protokolu, můžete použít skript python takto: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Nebo použijte `jq` následovně: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +Chcete-li vybrat události v určitém datu, můžete použít `jq` následovně (v tomto příkladu vybíráme všechny události, které se staly mezi lednem 2022 a koncem června 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Totéž s `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..6d0584f4 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Přehled { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Konfigurace { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..48b5534c --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Deployment Architectures { #deployment-architectures } + +## Úvod { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Popis| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..580aeca7 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Úvod { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _jader CPU:_ 4 CPU jader promalou instanci, 8 CPU jader nebo více pro střední nebo velkou instanci. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Pozdější verze DHIS2 vyžadují pro provoz následující verze softwaru. + +1. Operační systém, pro který existuje Java JDK nebo JRE verze 8 nebo 11. Doporučuje se Linux. +2. Java JDK. Doporučuje se OpenJDK. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. Databáze PostgreSQL verze 9.6 nebo novější. Doporučuje se novější verze PostgreSQL, například verze 13. +4. Rozšíření databáze PostGIS verze 2.2 nebo novější. +5. Kontejner servletu Tomcat verze 8.5.50 nebo novější nebo jiné servletové kontejnery vyhovující Servlet API 3.1. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Úkol| Popis | Status | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Měsíc|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Výcvik|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|červenec|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..e129c57b --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Správa +--- + +# Aktualizace { #upgrading-dhis2 } + +## Upgrade vs. aktualizace { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Než začnete { #upgrading-before-you-begin } + +> **Pozor** +> +> Je důležité si uvědomit, že jakmile upgradujete, nebudete moci používat upgradovanou databázi se starší verzí DHIS2. To znamená, že **není možné přejít na nižší verzi**. +> +> Pokud se chcete vrátit ke starší verzi, musíte tak učinit s kopií databáze, která byla vytvořena z této starší verze nebo z předchozí verze. Proto je téměř vždy dobré si před upgradem vytvořit kopii databáze. + +## Provádění upgradu { #upgrading-process } + +Bez ohledu na to, zda upgradujete nebo aktualizujete, technický proces je víceméně stejný. Budeme tomu říkat pouze upgrade. + +### 1 Chraňte svá data { #upgrading-safeguard-your-data } + +V závislosti na tom, jaký druh instance DHIS2 máte a k čemu ji používáte, je prvním krokem ujistit se, že můžete obnovit všechna důležitá data, pokud se při upgradu něco pokazí. + +To znamená provádění standardních úloh správy systému, jako jsou: + +1. Zálohování databáze +2. Testování ve vývojovém prostředí +3. Plánování odstávky (aby se zabránilo zadávání dat během upgradu) +4. atd. + +### 2 Upgradujte software { #upgrading-upgrade-the-software } + +#### Od verze 2.29 nebo nižší { #upgrading-pre-230 } + +Pokud začínáte od verze 2.29 nebo nižší, musíte nejprve upgradovat na verzi 2.30 verzi po verzi ručně, podle poznámek k upgradu, které najdete pod konkrétními čísly verzí na [našem webu vydání](https://github.com/dhis2/dhis2-releases). Když jste ve verzi 2.30, můžete přejít k další sekci. + +#### Od verze 2.30 nebo vyšší { #upgrading-post-230 } + +Pokud začínáte alespoň od verze 2.30: + +1. **Přečtěte si všechny poznámky k upgradu od vaší aktuální verze až po cílovou verzi na [našem webu vydání](https://github.com/dhis2/dhis2-releases).** Ujistěte se, že vaše prostředí splňuje všechny požadavky +2. Zastavte server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Odstraňte z databáze všechny materializované pohledy SQL +5. Nahraďte war soubor cílovou verzí (není potřeba upgradovat na přechodné verze, ve skutečnosti se to nedoporučuje) +6. Spusťte server + +Nyní byste měli být připraveni využívat nové opravy a funkce. + diff --git a/projects/docs-full-site/cs/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/cs/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..c85d84f4 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Správa +--- + +# Používání komunikačních bran pro hlášení SMS { #sms_report_sending } + +DHIS2 podporuje přijímání dat přes [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), avšak SMS je potřeba komprimovat. Aplikace DHIS2 Android funguje jako transparentní vrstva pro zasílání informací prostřednictvím SMS, kde se uživatel nemusí starat o psaní SMS. Chcete-li odesílat SMS pomocí aplikace pro Android, SMS brána musí být správně nakonfigurována. Tato část vysvětluje různé dostupné možnosti a jak toho dosáhnout. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +Odesílání SMS, tj. Ze serveru DHIS2 na mobilní zařízení, je nastaveno relativně snadno. Pokud je vyžadováno pouze zasílání upozornění na telefony uživatelů z DHIS2, když dojde k určitým událostem (zasílání zpráv, prahové hodnoty atd.), Je vyžadováno pouze odesílání SMS. + +To vše lze nakonfigurovat na stránce Konfigurace služby SMS v sekci [Konfigurace mobilních zařízení](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +Podpora běžných poskytovatelů, jako jsou *Bulk SMS* a *Clickatell*, je ve výchozím nastavení k dispozici a oba poskytovatelé podporují odesílání SMS na čísla ve většině zemí. + +Rovněž je možné pro odesílání a přijímání SMS použít jinou SMS bránu. Takže i když nastavíte řešení pro příjem SMS níže, je stále možné použít jedno z výše uvedených řešení pro odesílání SMS. + +## Používání zařízení Android jako SMS brány { #sms_report_android_gateway } + +Nejjednodušším řešením je použití vyhrazeného zařízení Android jako vaší SMS brány. Jakýkoli telefon nebo tablet se systémem Android OS (4.4, Kitkat nebo novější) by měl být v pořádku. Bude vyžadovat stálé připojení k internetu, aby bylo možné přeposílat zprávy na váš server DHIS2, a také bude potřebovat SIM kartu pro příjem příchozích SMS. + +Budete si muset stáhnout a nainstalovat aplikaci DHIS2 Android SMS Gateway do mobilního zařízení. Podívejte se na seznam [vydání](https://github.com/dhis2/dhis2-sms-android-gateway/releases), kde si můžete stáhnout nejnovější soubor APK k instalaci. Na stránce samotné aplikace jsou pokyny, ale v zásadě stačí spustit aplikaci a zadat podrobnosti o vašem serveru DHIS2 (URL, uživatelské jméno a heslo). + +Jakmile je toto nastaveno a spuštěno, zadejte telefonní číslo tohoto zařízení brány na konfigurační stránce jakéhokoli jiného mobilního zařízení pomocí aplikace DHIS2 Capture. Poté, když jsou SMS zaslány z těchto reportovacích zařízení, budou přijaty na zařízení brány a automaticky přeposlány na server DHIS2, kde budou zpracovány. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Odesílání SMS pomocí brány zařízení Android { #sending-sms-using-an-android-device-gateway } + +Tato možnost není aktuálně podporována ani dokumentována. + +## Vyhrazené brány SMS { #sms_report_dedicated_gateway } + +Tato část pojednává o použití trvalejších a vyhrazených bran SMS a dostupných možnostech. Každá z těchto možností níže bude zahrnovat poskytovatele (nebo sebe), který má připojení SMPP k telefonnímu operátorovi v zemi a pomocí tohoto připojení přijímá příchozí SMS a předává je na váš server DHIS2 přes internet pomocí protokolu HTTP. + +Tato řešení mohou používat **dlouhé číslo** nebo **krátký kód**. Dlouhé číslo je standardní číslo mobilního telefonu typu, který používá většina soukromých osob, tj. +61 400123123. Krátký kód je jednoduše krátké číslo, například 311. Nastavení a údržba krátkých kódů je obvykle dražší. + +### Zajištění správného formátování příchozích SMS na server DHIS2 { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +Při odesílání příchozích SMS na server DHIS2 přes API používáte následující adresu URL: *https:///api/sms/inbound* + +V DHIS2 verze 2.34 a nižší vyžaduje tento koncový bod formát příchozích SMS ve velmi specifickém formátu, tj. Samotná zpráva musí být parametr s názvem text, telefonní číslo odesílatele musí být parametr s názvem originator. + +Při použití všech níže uvedených možností brány SMS, když je nakonfigurujete pro přeposílání příchozích SMS na jinou webovou službu, budou mít každý svůj vlastní formát, který se bude lišit od toho, který se očekává v rozhraní DHIS2 API. Z tohoto důvodu je tedy nutné je před odesláním na server DHIS2 přeformátovat. + +Jednou z možností je spustit vlastní velmi jednoduchou webovou službu, která jednoduše obdrží příchozí SMS od poskytovatele brány, přeformátuje ji na požadovanou pro DHIS2 a přepošle ji na vaše DHIS2 API. Takovou službu by musel napsat softwarový vývojář. + +Ve verzi DHIS2 verze 2.35 se plánuje podpora těchto případů šablonovým systémem pro příchozí SMS, takže můžete určit formát zpráv, které budou odesílány od vašeho poskytovatele. Tímto způsobem můžete nakonfigurovat server DHIS2 tak, aby přijímal příchozí SMS od jakéhokoli jiného poskytovatele brány SMS, a oni mohou přímo odesílat příchozí SMS do rozhraní DHIS2 API, aniž by bylo nutné takovou webovou službu formátování. + +### Použití RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/) je služba provozovaná organizací UNICEF ve více než 50 zemích po celém světě. Jedná se o soubor softwaru, který spolupracuje s vnitrostátními telefonními operátory a umožňuje organizacím navrhovat řešení SMS pro jejich projekty, jako jsou zprávy SMS nebo osvětové kampaně. + +Služba RapidPro bude zahrnovat připojení SMPP k jednomu nebo více telefonním operátorům v zemi, obvykle prostřednictvím zkráceného kódu, který je potenciálně určen pro práci ve zdravotnictví pro nevládní organizace. Poté je možné přidat webhook, aby byly příchozí SMS přeposílány do jiné webové služby, jako je výše popsaná formátovací webová služba. Pokud se zkrácený kód používá také pro jiné účely, může být nutné přidat telefonní čísla vašich reportovacích zařízení do samostatné skupiny, aby se do webhooku předávaly pouze příchozí SMS z těchto zařízení. + +RapidPro je v současné době zřízen a spuštěn ve zhruba polovině zemí, které v současné době používají nebo pilotují DHIS2. Před zvážením jednoho z níže uvedených řešení, které může být finančně i časově nákladné, stojí za to kontaktovat Unicef, abyste zjistili, zda je RapidPro k dispozici a zda jej lze použít pro hlášení zdravotního stavu ve vaší zemi. + +### Používání komerčních poskytovatelů SMS bran { #using-commercial-sms-gateway-providers } + +Z komerčních poskytovatelů brány SMS zmíněných v části Odesílání SMS výše budou mít obvykle schopnost *odesílat* SMS ve většině zemí, ale mohou podporovat *příjem* SMS pouze v omezeném počtu zemí. Většina zemí, které podporují příjem SMS, nejsou země, které používají DHIS2. Ze zemí, které používají DHIS2, je většina již pokryta službou RapidPro spuštěnou v zemi. + +Stojí však za to prozkoumat, jaké komerční možnosti jsou pro vaši zemi k dispozici. V některých zemích budou existovat malé národní společnosti, které poskytují služby SMS, budou mít stávající spojení SMPP s poskytovateli telefonů, které můžete použít. + +### Přímé používání telefonních operátorů { #using-phone-carriers-directly } + +Pokud žádné z výše uvedených řešení není k dispozici, bylo by nutné obrátit se přímo na telefonní operátory ve vaší zemi. První otázka, kterou je třeba se zeptat, by byla, zda jsou si vědomi společností, které s nimi provozují spojení SMPP, na které byste se mohli obrátit. + +Pokud ne, jako poslední možnost budete muset zvážit nastavení a udržování vlastního SMPP spojení s poskytovatelem telefonu. Ne všichni poskytovatelé telefonů však mohou takovou službu nabízet. + +Budete muset spustit svůj vlastní server se spuštěným softwarem, jako je [Kannel](https://www.kannel.org/), který se připojuje (obvykle přes VPN) ke službě SMPP spuštěné v síti poskytovatelů telefonů. Pokud je toto nastaveno, všechny příchozí SMS pro nakonfigurované dlouhé číslo nebo zkrácený kód se odesílají z operátora telefonu na váš server Kannel a poté můžete tyto zprávy přeposílat výše uvedeným způsobem. + +### Příjem zřetězených nebo vícedílných SMS { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +Při výběru brány SMS je tedy důležité potvrdit, že použitý telefonní operátor podporuje zřetězené SMS. Většina z nich to bude podporovat, ale je důležité potvrdit, protože funkce SMS nebude fungovat, pokud jsou SMS rozděleny. To se spoléhá na něco, co se nazývá UDH (záhlaví dat uživatele). Při diskusi s poskytovateli se poté zeptejte, zda je podporována. + diff --git a/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..e66a6b91 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..79daa808 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,319 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Vytvoření uživatele pro spuštění DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Důležité** +> +> Server DHIS2 byste neměli spouštět jako privilegovaný uživatel, jako je root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Vytvoření konfiguračního adresáře { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## Instalace PostgreSQL { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Instalace Java { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Instalace +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Ověřte správnost instalace zadáním: +``` +java -version +``` + +## Konfigurace DHIS2 { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +Konfigurační soubor pro PostgreSQL odpovídající výše uvedenému nastavení má tyto vlastnosti: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Instalace Tomcat a DHIS2 { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` nastavuje umístění instalace JDK. + * `JAVA_OPTS` předává parametry do JVM. + * `-Xms` nastavuje počáteční přidělení paměti prostoru Java heap. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Spuštění DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..5f65de85 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/cs/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/cs/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..3256b642 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Cloud Hosting { #cloud-hosting } + +## Úvod { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/cs/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/cs/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..1200814c --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Physical Hosting { #physical-hosting } + +## Úvod { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/cs/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/cs/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..58224186 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Požadavky { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Závěr { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/cs/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/cs/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..e840c6f4 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +# Konfigurace clusteru webového serveru { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Přehled clusterování { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +Aby bylo možné spustit DHIS 2, je třeba nakonfigurovat několik aspektů +v clusteru. + +* Musí být nainstalováno úložiště dat Redis a informace o připojení +be provided for each DHIS 2 application instance in`dhis.conf`. + +* Instance a servery DHIS 2 musí sdílet stejnou složku *files*, pro kterou se používá +aplikace a nahrávání souborů, a to buď prostřednictvím *cloudového úložiště souborů AWS S3* +nebo sdílený síťový disk. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +napříč instancemi clusteru. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +V konfiguračním souboru DHIS 2 `dhis.conf` musí být specifikovány následující vlastnosti: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Znovu zadejte konfiguraci clusteru sdíleného úložiště dat { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Určuje, kde je spuštěn server redis. Výchozí nastavení je *localhost *. Povinné. + +- *redis.port*: Určuje port, ve kterém server redis naslouchá. Výchozí hodnota je *6379 *. Volitelný. + +- *redis.password*: Určuje ověřovací heslo. Pokud heslo není vyžadováno, může být ponecháno prázdné. + +- *redis.use.ssl*: Určuje, zda má server Redis povoleno SSL. Výchozí hodnota je false. Volitelný. Výchozí hodnota je *false *. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Konfigurace složky souborů { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +Existují dva způsoby, jak dosáhnout sdíleného umístění: + +* Použijte možnost * AWS S3 cloud filestorage *. Soubory budou uloženy ve formátu +S3 bucket, které je automaticky sdíleno všemi instancemi DHIS 2 v klastru. +Pokyny najdete v části *Konfigurace úložiště souborů*. +* Set up a shared folder which is shared among all DHIS 2 instances and +servery v klastru. Na Linuxu toho lze dosáhnout pomocí * NFS * (Network File System) +což je protokol distribuovaného systému souborů. Všimněte si, že pouze podsložka `soubory` +by měla by být sdílena pod `DHIS2_HOME`, nikoli nadřazená složka. + +## Konfigurace nástroje pro vyrovnávání zatížení { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/cs/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/cs/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..3bc32deb --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..f460e16b --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Konfigurace šifrování { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```properties +encryption.password = xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## Konfigurace systému { #install_system_configuration } + +Tato část popisuje různé vlastnosti konfigurace systému. + +```properties +system.read_only_mode = on | off +``` + +Nastaví systém v režimu jen pro čtení. To je užitečné, když spustíte DHIS 2 v replice databáze jen pro čtení, abyste zabránili DHIS 2 v provádění operací zápisu do databáze. Může být `on` nebo `off`. Výchozí hodnota je `off`. + +```properties +system.session.timeout = (seconds) +``` + +Nastaví časový limit relace uživatele v sekundách. Výchozí hodnota je 3600 sekund (1 hodina). + +```properties +system.sql_view_table_protection = on | off +``` + +Povolí nebo zakáže ochranu citlivé tabulky databáze pro zobrazení SQL. Tím se zakáže dotazování databázových tabulek s citlivými daty prostřednictvím zobrazení SQL. Zakázání se nedoporučuje. Může být `on` nebo `off`. Výchozí hodnota je `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Povolí nebo zakáže provádění pravidel programu na straně serveru. To se týká pravidel programu, která mají akce pro přiřazování hodnot, odesílání zpráv nebo plánování zpráv, které mají být odeslány. Může být `on` nebo `off`. Výchozí hodnota je `on`. + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..3d883692 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Konfigurace úložiště souborů { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..6a0b4ec2 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Konfigurace účtu služby Google { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Vytvořte si účet služby Google. Nahlédněte prosím do [Identifikátor Google + platformy](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + a její dokumentace. + + - Navštivte [Google cloud console](https://console.cloud.google.com) + a přejděte na API Manager \> Credentials \> Create credentials \> + Service account key. Vyberte svůj účet služby a JSON jako klíč + zadejte a klikněte na Create. + + - Přejmenujte klíč JSON na *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..f75c9a2b --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,76 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Správa +--- + +## Konfigurace LDAP { #install_ldap_configuration } + +Systém DHIS2 umí pro ověřování uživatelů používat server LDAP. Pro ověřování LDAP je nutné mít v databázi DHIS2 odpovídajícího uživatele pro každou položku LDAP. Uživatel DHIS2 bude použit pro zastupování autorit / uživatelských rolí. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +Vlastnosti konfigurace LDAP jsou vysvětleny níže: + +- *ldap.url:* Adresa URL serveru LDAP, pro který se má ověřovat + naproti. Důrazně doporučujeme používat SSL / šifrování + make authentication secure. As example URL is + *ldaps://domain.org:636*, kde ldaps odkazuje na protokol, + *domain.org* odkazuje na název domény nebo IP adresu a *636* + odkazuje na port (636 je výchozí pro LDAPS). +- *ldap.manager.dn:* Pro připojení je vyžadován uživatel správce LDAP + server LDAP pro proces ověřování uživatele. Tato vlastnost + odkazuje na DN tohoto záznamu. Tj. toto není uživatel, který to udělá + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* Heslo pro uživatele správce LDAP. +- *ldap.search.base:* Základ hledání nebo rozlišující název + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* Filtr pro odpovídající DN záznamů v + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..dec11d6c --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +# Protokolování aplikací { #install_application_logging } + +This section covers application logging in DHIS2. + +## soubory protokolů { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Konfigurace protokolu { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 poskytne následující kontextové hodnoty: + +* `sessionId`: ID relace aktuálního uživatele +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +Chcete-li nastavit úroveň protokolu na DEBUG pro služby DHIS2, můžete zadat: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Běžné úrovně protokolu jsou `DEBUG`, `INFO`, `WARN` a `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Seznam změn { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..58000306 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Správa +--- + +# Monitoring { #monitoring } + +## Úvod { #monitoring } + +DHIS2 může exportovat metriky kompatibilní s [Prometheus](https://prometheus.io/) pro monitorování uzlů DHIS2. + +Tato část popisuje kroky potřebné k instalaci Prometheus a [Grafana](https://grafana.com/) pomocí standardního instalačního postupu (`apt-get`) a Dockeru a konfigurace Grafany tak, aby zobrazovala metriky DHIS2. + +Seznam metrik vystavených instancí DHIS2 najdete v příručce pro monitorování na [GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Nastavení { #monitoring_setup } + +V následujících částech je popsáno, jak nastavit Prometheus a Grafanu a jak nastavit Prometheus pro načítání dat z jedné nebo více instancí DHIS2. + +### Instalace Prometheus + Grafana na Ubuntu a Debian { #prometheus } + +- Stáhněte si Prometheus z oficiální stránky [download](https://prometheus.io/download/). + +- Nezapomeňte vyfiltrovat operační systém a architekturu procesoru (Linux a amd64). + +- Ujistěte se, že jste vybrali nejnovější stabilní verzi, nikoli „rc“, protože prozatím není považována za dostatečně stabilní. + +- Stáhněte si archiv kliknutím na odkaz nebo pomocí `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Rozbalte zip soubor + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +Archiv obsahuje mnoho důležitých souborů, ale zde jsou hlavní, které potřebujete vědět. + +- `prometheus.yml`: konfigurační soubor pro Prometheus. Toto je soubor, který se chystáte upravit, abyste vylepšili svůj server Prometheus, například abyste změnili interval scrapingu nebo nakonfigurovali vlastní výstrahy; +- `prometheus`: binární soubor pro váš server Prometheus. Toto je příkaz, který se chystáte spustit pro spuštění instance Prometheus ve vašem Linux boxu; +- `promtool`: toto je příkaz, který můžete spustit k ověření vaší konfigurace Prometheus. + +### Konfigurace Prometheus jako služby { #prometheus_service } + +- Vytvořte uživatele `Prometheus` se skupinou` Prometheus`. + +``` +useradd -rs /bin/false prometheus +``` + +- Přesuňte binární soubory Prometheus do místního adresáře bin + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Vytvořte složku ve složce `/etc` pro Prometheus a přesuňte soubory konzoly, knihovny konzoly a konfigurační soubor prometheus do této nově vytvořené složky. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Vytvořte datovou složku v kořenovém adresáři se složkou prometheus uvnitř. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Vytvořte službu Prometheus { #prometheus_create_service } + +Chcete-li vytvořit službu Prometheus _systemd_, přejděte do složky `/lib/systemd/system` a vytvořte nový soubor systemd s názvem `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Upravte nově vytvořený soubor a vložte do něj následující obsah: + +```properties +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/local/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +- Uložte soubor a při spuštění povolte službu Prometheus + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Vyzkoušejte, zda je služba spuštěna + +``` +systemctl status prometheus + +... +Active: active (running) +``` + +- Nyní by mělo být možné získat přístup k uživatelskému rozhraní Prometheus přístupem na stránku `http://localhost:9090`. + + +### Nastavení reverzní proxy Nginx { #prometheus_nginx } + +Prometheus nativně nepodporuje ověřování ani šifrování TLS. Pokud musí být Prometheus vystaven mimo hranice místní sítě, je důležité povolit ověřování a šifrování TLS. Následující kroky ukazují, jak používat Nginx jako reverzní proxy. + +- Nainstalujte Nginx, pokud již není nainstalován + +``` +apt update +apt-get install nginx +``` + +Ve výchozím nastavení Nginx začne poslouchat požadavky HTTP ve výchozím portu `http`, což je `80`. + +Pokud v počítači již běží instance Nginx a nejste si jisti, na kterém portu naslouchá, spusťte následující příkaz: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +Poslední sloupec zobrazuje port používaný Nginxem (`http` -> `80`). + +Ve výchozím nastavení je konfigurace Nginx umístěna v `/etc/nginx/nginx.conf` + +Ujistěte se, že soubor `nginx.conf` obsahuje sekci `Virtual Host Config` + +``` +## +# Virtual Host Configs +## + +include /etc/nginx/conf.d/*.conf; +include /etc/nginx/sites-enabled/*; + +``` + +- Vytvořte nový soubor v souboru `/etc/nginx/conf.d` s názvem `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Upravte nově vytvořený soubor a vložte do něj následující obsah: + +``` +server { + listen 1234; + + location / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Restartujte Nginx a přejděte na http://localhost:1234 + +``` +systemctl restart nginx + +# in case of start-up errors +journalctl -f -u nginx.service +``` + +- Nakonfigurujte Prometheus pro reverzní proxy pomocí úpravy `/lib/systemd/system/prometheus.service` a přidejte následující argument do seznamu argumentů předaných spustitelnému souboru Prometheus. + +``` +--web.external-url=https://localhost:1234 +``` + +- Restartujte službu + +``` +systemctl daemon-reload +systemctl restart prometheus + + +# in case of errors +journalctl -f -u prometheus.service +``` + +### Povolit ověření reverzní proxy { #prometheus_auth } + +Tato část ukazuje, jak konfigurovat základní ověřování pomocí serveru reverzní proxy. Pokud potřebujete jiný mechanismus ověřování (jednotné přihlášení atd.), Zkontrolujte příslušnou dokumentaci. + +- Ujistěte se, že je v systému nainstalován `htpasswd` + +``` +apt-get install apache2-utils +``` + +- Vytvořte ověřovací soubor + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Vyberte silné heslo a zkontrolujte, zda byl předávací soubor správně vytvořen. + +- Upravte dříve vytvořený konfigurační soubor Nginx (`/etc/nginx/conf.d/prometheus.conf`) a přidejte ověřovací informace. + +``` +server { + listen 1234; + + location / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Restartujte Nginx + +``` +systemctl restart nginx + +# in case of errors +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` by nyní měl vyžadovat zadání uživatelského jména a hesla. + +### Instalace Grafany na Ubuntu a Debianu { #grafana } + +- Přidejte klíč `gpg` a nainstalujte balíček OSS Grafana z APT repo + +```sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +``` + +- Pokud systém používá program `systemd`, automaticky se vytvoří nová služba `grafana-service`. Zkontrolujte soubor `systemd` a získejte přehled o instalaci Grafany + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +Tento soubor je docela důležitý, protože nabízí informace o nově nainstalované instanci Grafana. + +Soubor ukazuje: + +Binární soubor **serveru Grafana** je umístěn na adrese `/usr/sbin/grafana-server`. +Soubor, který definuje všechny **proměnné prostředí**, je umístěn na `/etc/default/grafana-server` +**Konfigurační soubor** se zadává prostřednictvím proměnné prostředí `CONF_FILE`. +**PID souboru** je také určen proměnnou prostředí `PID_FILE_DIR`. +Cesty **logging**, **data**, **plugins** a **provisioning** jsou dány proměnnými prostředí. + +- Spusťte server + +``` +systemctl start grafana-server +``` + +- Přejděte na webovou konzolu Grafana: http://localhost:3000 + +Výchozí přihlašovací jméno pro Grafanu je `admin` a výchozí heslo je také `admin`. +Při prvním přístupu budete vyzváni ke změně hesla. + +- Nakonfigurujte Prometheus jako zdroj dat Grafana + +Přístup na panel zdrojů dat kliknutím na `Konfigurace`>` Zdroje dat` v levé nabídce. + +Klikněte na `Add a datasource` + +V dalším okně vyberte datový zdroj Prometheus. + +Nakonfigurujte zdroj dat podle nastavení Prometheus (použijte ověřování, TSL atd.) + +### Instalace Prometheus + Grafana pomocí Dockeru { #prometheus_grafana_docker } + +Tato část popisuje, jak spustit stack Prometheus obsahující Prometheus a Grafanu. + +Konfigurace je založena na tomto projektu: https://github.com/vegasbrianc/prometheus + +- Klon tohoto projektu na Github: https://github.com/vegasbrianc/prometheus + +- Spusťte zásobník Prometheus pomocí: + +``` +docker stack deploy -c docker-stack.yml prom +``` + +Výše uvedený příkaz může mít za následek následující chybu: + +*Tento uzel není správcem swarm. Pomocí „docker swarm init“ nebo „docker swarm join“ připojte tento uzel k swarm a zkuste to znovu* + +Pokud k tomu dojde, musíte spustit Swarm. Můžete použít následující příkazový řádek: + +``` +docker swarm init --advertise-addr +``` + +Jakmile se tento příkaz úspěšně spustí, měli byste být schopni bez problémů spustit předchozí příkaz. + +Stack obsahuje také exportér uzlů pro monitorování Dockeru. Pokud vás monitorování Dockeru nezajímá, můžete komentovat příslušné oddíly v souboru `docker-stack.yml`: + +- `node-exporter` +- `cadvisor` + +- Zastavení zásobníku Prometheus: + +``` +docker stack rm prom +``` + +Soubor konfigurace Prometheus (`prometheus.yml`) je umístěn ve složce `prometheus`. + +- Přejděte na webovou konzolu Grafana na adrese: http://localhost:3000 s uživatelským jménem: `admin` a heslem: `foobar` + +### Nakonfigurujte Prometheus tak, aby načítal metriky z jedné nebo více instancí DHIS2 { #prometheus_dhis2 } + +Před použitím programu Prometheus je nutné provést základní konfiguraci. Musíme tedy vytvořit konfigurační soubor s názvem `prometheus.yml` + +> **Poznámka** +> +> Konfigurační soubor Prometheus je napsán v YAML, což přísně zakazuje používání karet. Pokud je váš soubor nesprávně naformátovaný, Prometheus se nespustí. Při úpravách buďte opatrní. + +Konfigurační soubor Prometheus je rozdělen do tří částí: `global`, `rule_files` a `scrape_configs`. + +V globální části najdeme obecnou konfiguraci Prometheus: `scrape_interval` definuje, jak často Prometheus škrábne cíle, `evaluation_interval` určuje, jak často bude software vyhodnocovat pravidla. Pravidla se používají k vytváření nových časových řad a ke generování výstrah. + +Blok `rule_files` obsahuje informace o umístění všech pravidel, která chceme načíst serveru Prometheus. + +Poslední blok konfiguračního souboru má název `scape_configs` a obsahuje informace, které prostředky Prometheus sleduje. + +A simple DHIS2 Prometheus monitoring file looks like this example: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +Globální `scrape_interval` je nastaven na 15 sekund, což je dost pro většinu případů použití. + +V části `scrape_configs` jsme definovali exportér DHIS2. +Bloky `basic_auth` obsahují pověření požadovaná pro přístup k API `metrics`: zvažte vytvoření uživatele ad-hoc pouze pro přístup ke koncovému bodu `metrics`. + +Prometheus může nebo nemusí běžet na stejném serveru jako DHIS2: ve výše uvedené konfiguraci se předpokládá, že Prometheus sleduje pouze jednu instanci DHIS2 běžící na stejném serveru jako Prometheus, takže používáme `localhost`. + +### Nakonfigurujte exportér DHIS2 { #dhis2_metrics_conf } + +Monitorovací subsystém je ve výchozím nastavení v DHIS2 zakázán. + +Aby bylo možné metriky exportovat, musí být každý cluster metrik explicitně povolen. Chcete-li nakonfigurovat DHIS2 na export jedné nebo více metrik, zkontrolujte tento [dokument](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..c89eb6ec --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Správa +--- + +# Konfigurace OpenID Connect (OIDC) { #install_oidc_configuration } + +DHIS2 podporuje vrstvu identity OpenID Connect (OIDC) pro jednotné přihlášení (SSO). OIDC je standardní ověřovací protokol, který uživatelům umožňuje přihlásit se pomocí poskytovatele identity (IdP), jako je například Google. Poté, co se uživatelé úspěšně přihlásí ke svému IdP, budou automaticky přihlášeni k DHIS2. + +Tato část poskytuje obecné informace o používání DHIS2 s poskytovatelem OIDC a také kompletní příklady konfigurace. + +Ověřovací postup DHIS2 OIDC „autorizační kód“: + +1. Uživatel se pokusí přihlásit do DHIS2 a klikne na tlačítko poskytovatele OIDC na přihlašovací stránce. + +2. DHIS2 přesměruje prohlížeč na přihlašovací stránku IdP. + +3. Pokud ještě není přihlášen, bude uživatel vyzván k zadání přihlašovacích údajů. Po úspěšné autentizaci IdP odpoví přesměrováním zpět na server DHIS2. Přesměrování obsahuje jedinečný autorizační kód vygenerovaný pro uživatele. + +4. Server DHIS2 interně odešle autorizační kód uživatele zpět na server IdP spolu se svým vlastním ID klienta a tajnými pověřeními klienta. + +5. IdP vrátí ID token zpět na server DHIS2. Server DHIS2 provede ověření tokenu. + +6. Server DHIS2 vyhledá interního uživatele DHIS2 s požadavky na mapování nalezenými v tokenu ID (výchozí nastavení pro e-mail), autorizuje uživatele a dokončí proces přihlášení. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +Musíte mít účet správce u poskytovatele online identity (IdP) nebo na samostatném serveru, které podporuje DHIS2. + +V současné době jsou podporováni a testováni následující IdP: + +* Google +* Azure AD +* WSO2 +* Okta (Viz samostatný návod: [zde](#configure-openid-connect-with-okta)) + +K dispozici je také **obecná konfigurace poskytovatele**, která může podporovat „jakéhokoli“ poskytovatele kompatibilního s OIDC. + +### DHIS2 user account { #dhis2-user-account } + +Musíte explicitně vytvořit uživatele na serveru DHIS2, než se budou moci přihlásit k poskytovateli identity. Jejich import z externího adresáře, jako je například Active Directory, není v současné době podporován. Standard OIDC nepodporuje zajišťování a správu uživatelů s externím úložištěm identit. + +### Nároky IdP a mapování uživatelů { #idp-claims-and-mapping-of-users } + +Chcete-li se přihlásit k DHIS2 pomocí OIDC, musí být daný uživatel zřízen v IdP a poté namapován na předem vytvořený uživatelský účet v DHIS2. OIDC používá metodu, která se opírá o nároky na sdílení atributů uživatelských účtů s jinými aplikacemi. Nároky zahrnují atributy uživatelských účtů, jako je e-mail, telefonní číslo, jméno atd. DHIS2 se spoléhá na nárok IdP k mapování uživatelských účtů z IdP na ty na serveru DHIS2. Ve výchozím nastavení DHIS2 očekává, že IdP předá požadavek _email_. V závislosti na vašem IdP možná budete muset nakonfigurovat DHIS2 tak, aby používal jiný nárok IdP. + +Pokud jako IdP používáte Google nebo Azure AD, výchozím chováním je použití nároku _email_ k mapování identit IdP na uživatelské účty DHIS2. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Nakonfigurujte poskytovatele identity pro OIDC { #configure-the-identity-provider-for-oidc } + +Toto téma poskytuje obecné informace o konfiguraci poskytovatele identity (IdP) pro použití OIDC s DHIS2. Toto je jeden krok ve vícekrokovém procesu. Každý IdP má mírně odlišné způsoby konfigurace. Podívejte se do vlastní dokumentace vašeho IdP, jak vytvořit a nakonfigurovat aplikaci OIDC. Zde označujeme server DHIS2 jako "aplikaci" OIDC. + +### URL přesměrování { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Příklad při použití Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +Externí odkazy na pokyny pro konfiguraci vašeho poskytovatele identity: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Výukový program Azure AD](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Zaregistrujte si účet a přihlaste se. Například pro Google můžete přejít do Google [konzole pro vývojáře](https://console.developers.google.com). +2. Na panelu vývojáře Google klikněte na „vytvořit nový projekt“. +3. Postupujte podle pokynů pro vytvoření ID klienta OAuth 2.0 a tajného klíče klienta. +4. Nastavte svou adresu URL pro autorizované přesměrování na: `https://mydhis2-server.org/oauth2/code/google` +5. Zkopírujte a uschovejte „ID klienta“ a „tajemství klienta“ na bezpečném místě. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Vyhledejte a vyberte *Registrace aplikací*. +2. Klikněte na *Nová registrace*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. Do pole *URI přesměrování* zadejte adresu URL přesměrování, jak je uvedeno výše. +5. Klikněte na *Registrovat*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +Generického poskytovatele lze použít ke konfiguraci „jakéhokoli“ standardního poskytovatele OIDC, který je kompatibilní s „Spring Security“. + +V níže uvedeném příkladu nakonfigurujeme norského vládního poskytovatele _HelseID_ OIDC pomocí klíče poskytovatele `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Požadavky { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Vygenerujte Android OAuth2 client_id, jak je popsáno [zde](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +Následující část `dhis.conf` ukazuje příklad, jak povolit ověřování JWT pro klienta založeného na rozhraní API. + +```properties + +# Umožňuje přihlášení OIDC +oidc.oauth2.login.enabled = on + +# Minimální požadované konfigurační proměnné: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Povolte podporu JWT +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Definujte klienta 1 pomocí tokenů JWT +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Definujte klienta 2 pomocí tokenů JWT +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..8008b398 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,196 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Správa +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### Ladění výkonu PostgreSQL { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Určuje maximální počet připojení, které PostgreSQL povolí. + +```properties +shared_buffers = 3GB +``` + +Určuje, kolik paměti má být přiděleno výhradně pro cachování PostgreSQL. Toto nastavení řídí velikost sdílené paměti jádra, která má být vyhrazena pro PostgreSQL. Mělo by být nastaveno na přibližně 40 % celkové paměti vyhrazené pro PostgreSQL. + +```properties +work_mem = 24MB +``` + +Určuje množství paměti použité pro interní operace třídění a hashování. Toto nastavení se vztahuje na jedno připojení a jeden dotaz, takže při jeho příliš vysokém zvýšení může dojít ke spotřebě velkého množství paměti. Správné nastavení této hodnoty je zásadní pro výkon agregace DHIS2. + +```properties +maintenance_work_mem = 1GB +``` + +Určuje množství paměti, které může PostgreSQL využít pro údržbové operace, jako je vytváření indexů, spouštění vakua, přidávání cizích klíčů. Zvýšení této hodnoty může zlepšit výkonnost vytváření indexů během procesů generování analýz. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Nastaví paměť použitou pro vyrovnávací paměť během procesu zápisu WAL. Zvýšení této hodnoty může zlepšit propustnost v systémech náročných na zápis. + +```properties +synchronous_commit = off +``` + +Určuje, zda odevzdání transakce počká na zapsání záznamů WAL na disk před návratem ke klientovi, nebo ne. Nastavení této hodnoty na vypnuto výrazně zlepší výkon. Znamená to také, že mezi ohlášením úspěšné transakce klientovi a jejím skutečným zabezpečením je mírná prodleva, ale stav databáze nemůže být poškozen a je to dobrá alternativa pro systémy náročné na výkon a zápis, jako je DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Určuje prodlevu mezi operacemi zápisu WAL. Nastavení této hodnoty na vysokou hodnotu zlepší výkon na systémech náročných na zápis, protože během jednoho zápisu na disk může být provedeno potenciálně mnoho operací zápisu. + +```properties +random_page_cost = 1.1 +``` + +*Pouze SSD.* Nastavuje odhad plánovače dotazů na cenu za stránku disku, která není sekvenčně načítána. Nízká hodnota způsobí, že systém upřednostní indexové skenování před sekvenčním skenováním. Nízká hodnota má smysl pro databáze běžící na jednotkách SSD nebo s velkou mezipamětí v paměti. Výchozí hodnota je 4,0, což je u tradičních disků rozumné. + +```properties +max_locks_per_transaction = 96 +``` + +Určuje průměrný počet zámků objektů přidělených pro každou transakci. Toto je nastaveno hlavně proto, aby bylo možné dokončit upgradovací rutiny, které se dotýkají velkého počtu tabulek. + +```properties +track_activity_query_size = 8192 +``` + +Určuje počet bajtů vyhrazených pro sledování aktuálně prováděného příkazu pro každou aktivní relaci. Užitečné pro zobrazení celého řetězce dotazu pro monitorování aktuálně běžících dotazů. + +Restartujte PostgreSQL zadáním následujícího příkazu: + +```sh +sudo systemctl restart postgresql +``` + +## Přečtěte si konfiguraci replikace databáze { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Práce s databází PostgreSQL { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +V následujícím příkladu je název databáze `dhis2`, uživatel je `dhis` a výstupní název souboru je `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..a879cf75 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Správa +--- + +## Konfigurace reverzní proxy { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instance DHIS2 na stejném serveru. To také umožňuje + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + jiné než 80, což snižuje následky relace + únos. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Základní nastavení nginx { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx lze nyní spustit, znovu načíst a zastavit s následujícími +příkazy: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Povolení SSL s nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Povolení ukládání do mezipaměti pomocí nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Omezení rychlosti pomocí nginx { #install_rate_limiting } + +Některá volání webového rozhraní API v DHIS 2, jako jsou rozhraní API pro `analytics`, jsou náročná na výpočet. Ve výsledku je výhodné hodnotit omezení těchto API, aby všichni uživatelé systému mohli využívat spravedlivý podíl prostředků serveru. Omezení rychlosti lze dosáhnout pomocí `nginx`. Existuje mnoho přístupů k dosažení omezení rychlosti a toto je určeno k dokumentaci přístupu založeného na nginx. + +Níže uvedená konfigurace nginx omezí rychlost webového rozhraní `analytics` a má následující prvky na úrovni bloku *http* a *location* (konfigurace je kvůli stručnosti zkrácena): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +Různé prvky konfigurace lze popsat jako: + +- *limit_req_zone $binary_remote_addr*: Omezení rychlosti se provádí podle IP požadavku. +- *zone=limit_analytics:20m*: Zóna s omezením rychlosti pro analytické API, která pojme až 10 MB IP adres požadavků. +- *rate=20r/s*: Každé IP je přiděleno 5 požadavků za sekundu. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +Úplné vysvětlení najdete v [dokumentaci nginx](https://www.nginx.com/blog/rate-limiting-nginx/). + +### Zpřístupnění zdrojů pomocí nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Blokujte konkrétní verze aplikace pro Android pomocí nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Blokujte nejnovější aplikaci pro Android, protože nebyla testována + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Blokujte Android 4.4 (API je 19), protože všichni uživatelé měli obdržet nové tablety + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/cs/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/cs/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..f2688262 --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/cs/MANAGE__manage-md b/projects/docs-full-site/cs/MANAGE__manage-md new file mode 100644 index 00000000..8cef341f --- /dev/null +++ b/projects/docs-full-site/cs/MANAGE__manage-md @@ -0,0 +1,115 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/index.md" +revision_date: '2024-11-04' +tags: +- Správa +--- + +# Instalace { #installation } + +This section contains information related to the installation, management and maintenance of DHIS2 systems. It provides information on how to install DHIS2 in various contexts, including online central server, offline local network or standalone application. + +## Úvod { #install_introduction } + +--- + +DHIS2 runs on all platforms for which there exists a Java JRE, which includes most popular operating systems such as Linux, Windows and Mac. DHIS2 is packaged as a standard Java Web Archive (WAR-file) and thus runs on any Servlet containers such as Tomcat and Jetty. Its writes its data to a PostgreSQL database. Its recommended that you run it on a Supported Ubuntu LTS system, + +Tato kapitola poskytuje průvodce nastavením výše uvedeného technologického zásobníku. Mělo by se však číst jako průvodce pro uvedení do provozu a nikoli jako vyčerpávající dokumentace pro uvedené prostředí. Pro důkladné čtení odkazujeme na oficiální dokumentaci Ubuntu, PostgreSQL a Tomcat. + +## Specifikace serveru { #install_server_specifications } + +--- + +DHIS2 is a database intensive application and requires that your server has an appropriate amount of RAM, a good number of CPU cores and a fast disk, preferably an solid state disk (ssd). These recommendations should be considered as rules-of-thumb and not exact measures. DHIS2 scales linearly on the amount of RAM and number of CPU cores so the more you can afford, the better the application will perform. + +- _RAM_ + : At least 8 GB for a small instance, 16 GB for a medium instance, 64 GB or more for a large instance. +- _CPU_ + : 4 CPU cores for a small instance, 8 CPU cores for a medium instance, 16 CPU cores or more for a large instance. +- _Disk_ + : SSD is recommended as the storage device. Minimum read speed is 150 Mb/s, 200 Mb/s is good, 350 Mb/s or better is ideal. At least 100 GB storage space is recommended, but will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of storage space. Plan ahead and ensure that your server can be upgraded with more disk space as needed. On linux, you can test disk latency and throughput with below commands + + ``` + # disk latency + dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync + + # disk throughput + dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync + + # remove /tmp/test1.img after testing + rm -v -i /tmp/test1.img + ``` + +## Softwarové požadavky { #install_software_requirements } + +--- + +Pozdější verze DHIS2 vyžadují pro provoz následující verze softwaru. + +- An operating system for which a Java JDK or JRE version 8 ,11 or 17 exists. Ubuntu LTS release is recommended. +- Java JDK. Doporučuje se OpenJDK. + + Table: DHIS2 JDK compatibility + + | DHIS2 version | JDK recommended | JDK required | + | ------------- | --------------- | ------------ | + | 2.41 | 17 | 17 | + | 2.40 | 17 | 11 | + | 2.38 | 11 | 11 | + | 2.35 | 11 | 8 | + | pre 2.35 | 8 | 8 | + +- PostgreSQL database version 13 or later. A later PostgreSQL 16 is recommended. +- PostGIS database extension version 2.2 or later, 3 is recommended. +- Tomcat servlet container version 8.5.50 or 9, 9 is recommended. +- Pouze nastavení clusteru (volitelně): Redis datové úložiště verze 4 nebo novější. + +So a minimal installation of DHIS2 would consist of just the tomcat server (with DHIS2 war file deployed) and a PostgreSQL database. This type of minimal setup can be suitable for a developer or experimental setup. For a production deployment there are many other factors to take into account regarding maintenance, monitoring, security, scalability and performance. + +## Install approaches { #install_install_approaches } + +--- + +There are many ways to get DHIS2 up and running. How you choose to install will depend on which skills and tools you are familiar with and whether the installation is for production or experimental use. We have a number of different guides which emphasize different styles of implementation. Regardless of the implementation approach you adopt, you will want to familiarize yourself with the additional reference material we provide regarding database management, reverse proxy setup, system monitoring, upgrades etc. + +#### [Automated Install](#getting_started_linux_automated_install) { #install_automated_install_on_linux } + +These tools are ansible based [dhis2-server-tools](https://github.com/dhis2/dhis2-server-tools). This tool set provides a set of ansible playbooks to automate the installation and management of DHIS2 and supporting components. It is geared towards production environments with the aim of addressing the most critical security and monitoring considerations out-of-the-box. + +#### [Manual Install](#installation_on_linux_server) { #manual-installinstallation_on_linux_server } + +This guide provides step-by-step instructions for setting up DHIS2 on Ubuntu 22.04. For production environments, however, we highly recommend using an automated installation to ensure consistency and ease of management. Manual setup is ideal for learning and understanding how different DHIS2 components are setup and how they interconnect. + +### Running DHIS2 on docker { #running-dhis2-on-docker } + +#### Important Considerations for Deploying DHIS2 with Docker { #important-considerations-for-deploying-dhis2-with-docker } + +While Docker containers offer a potential method for running DHIS2 applications, there are important factors to consider before implementing this approach in production environments. + +##### Limited Production Use Cases: { #limited-production-use-cases } + +Currently available Docker images for DHIS2 may not be suitable for production deployments. These images haven't undergone extensive testing in real-world production settings. While they might function adequately for development purposes, their stability and performance under demanding workloads cannot be guaranteed for mission-critical applications. + +##### User Awareness and Testing: { #user-awareness-and-testing } + +The decision to utilize DHIS2 within Docker containers for production environments rests solely with the user. If you choose to proceed with this approach, comprehensive security, performance, and stress testing are absolutely essential. Rigorous testing will help ensure the stability and reliability of your DHIS2 application in a production setting. + +For those interested in exploring DHIS2 with Docker, the following link provides information on running DHIS2 in a Docker container: + +[ Running DHIS2 on Docker ](https://github.com/dhis2/dhis2-core/blob/master/docker/DOCKERHUB.md) + +### Running DHIS2 on Kubernetes { #running-dhis2-on-kubernetes } + +#### Leveraging Kubernetes for DHIS2 Deployment { #leveraging-kubernetes-for-dhis2-deployment } + +Kubernetes, a leading open-source container orchestration platform, offers a compelling approach to automate the deployment, scaling, and management of containerized applications. + +> **NOTE** +> +> Kubernetes would still require dhis2 docker images and thus reservations made above regarding Limited Production Use Cases still holds. + +#### Container Image Selection: { #container-image-selection } + +While Kubernetes is agnostic to the container image format, successful DHIS2 deployment relies on readily available container images. Currently, available Docker images for DHIS2 are primarily intended for development environments. These images may not have undergone rigorous testing for production workloads, potentially impacting stability and performance. + diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md index d3a17e0d..c06e227c 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-browsing.md" revision_date: '2021-09-09' tags: -- Použití - App version 1.0 +- Použití --- ## Procházení Trasovače Akcí { #browsing-the-action-tracker } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md index ec348de4..7c76835d 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-introduction.md" revision_date: '2021-09-09' tags: -- Použití - App version 1.0 +- Použití --- # Propojený ovládací panel Trasovač Akcí a Demo server { #linked-action-tracker-dashboard-and-demo-server } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md index b88fae51..56417bc2 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-maintenance.md" revision_date: '2021-09-09' tags: -- Použití - App version 1.0 +- Použití --- # Údržba aplikace Trasovač Akcí { #action-tracker-app-maintenance } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md index b25bb75d..10b41073 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-planning.md" revision_date: '2021-09-09' tags: -- Použití - App version 1.0 +- Použití --- # Plánování akcí v Trasovači Akcí { #action-planning-in-action-tracker } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md index 1af944d9..982fab17 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-tracking.md" revision_date: '2021-09-09' tags: -- Použití - App version 1.0 +- Použití --- # Trasování akcí v Trasovači Akcí { #action-tracking-in-action-tracker } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index 1ff9c533..605b181a 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Instalace aplikace BNA { #installing-the-bna-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index ae19a7ad..12ed893e 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Údržba aplikace BNA { #bna-app-maintenance } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index bf72f851..6fd72fe6 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Analýza a interpretace BNA { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index 97d5104c..b6f2b174 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Architektura aplikace BNA { #bna-app-architecture } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index cabd0cd8..1058c567 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Ovládací panel analýzy úzkých míst BNA a Demo server { #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index a818c7e6..dd23cef7 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Konfigurace intervencí aplikace BNA { #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index 8c91568b..cb74cf7e 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Vizualizační operace { #visualization-operations } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index 74550cef..282b9097 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Přijetí používání aplikace BNA { #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index 614f43d5..3d247353 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Budování kapacit { #capacity-building } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index fed1cdd8..a689d5df 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Školení koncových uživatelů { #end-user-training } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index 64c2e0c7..c3ebe62c 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Průvodce implementací aplikace BNA { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index 99dd056d..06f547d4 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Koncepty integrace pro aplikaci BNA. { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index 2a60e5a8..89e39af4 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Příležitosti a výzvy { #opportunities-and-challenges } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index d73244e0..074db1aa 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Plánování a organizace { #planning-and-organising } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index 7023e8fa..cf89cdfc 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Nastavení nové aplikace BNA { #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index 13bc0bd1..5f0b3a60 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Podpora a rozšiřování aplikací BNA { #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index ff9ca569..39a917d8 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Použití +- App version 1.2.2 --- # Škálování a udržitelnost { #scale-up-and-sustainability } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index aba4ee36..3cd43339 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index 5d6a6b91..104d25c5 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index f085d47a..2381f502 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index 12ff31f1..8de6b111 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index a21267df..f70bb308 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- # O této příručce { #about_this_guide_ } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index a0fbfb7a..3e91df2e 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index 4e69b4ae..25fac845 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index 7ec54d8e..6652ed13 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 686e59e7..21c5cb37 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md index 037bc269..484bcfb9 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/map-view.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Použití +- App version 1.4.0 --- Zobrazení mapy diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md index cb1dc177..85a26499 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/metadata-package-development/blob/master/metadata/AEFI/immunisation_analysis_app_user_manual.md" revision_date: '2021-03-18' tags: -- Použití - App version 1.0.3 +- Použití --- # Uživatelská příručka k aplikaci pro analýzu imunizace DHIS2 { #user-manual-for-the-dhis2-immunisation-analysis-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md index 18896bce..836fc122 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/about-this-guide.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # About this guide { #about-this-guide } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md index 3666f2ab..e5c22c3b 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-and-translating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Accessing and translating the Scorecard { #accessing-and-translating-the-scorecard } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md index 51cb190e..d92c58ab 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-scorecard-app.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Login DHIS2 system { #login-dhis2-system } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md index 29aa352c..77485a62 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/creating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- ## Creating the Scorecard { #creating-the-scorecard } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md index 9da64f61..2869c25a 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/introduction-to-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Introduction to the Scorecard App { #introduction-to-the-scorecard-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md index b5f55924..fe88fb35 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/saving-configurations.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- ## Saving configuration and load the scorecard { #saving-configuration-and-load-the-scorecard } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md index e95d4f49..d1614558 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/scorecard-app-architecture.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Scorecard App architecture { #scorecard-app-architecture } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md index 843c68b2..30d8fe95 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/support-and-maintanace-options.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Scorecard App Built-in Support and Maintenance Options { #scorecard-app-built-in-support-and-maintenance-options } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md index a7f26994..3d063e47 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/viewing-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Použití +- App version 2.5.0 --- # Viewing the Scorecard App Analysis outputs { #viewing-the-scorecard-app-analysis-outputs } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index 7ce9e853..5e1f8d88 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Použití +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index 078f5a7b..d22d196f 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Použití +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index 1731bdbc..11dd7415 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - Použití +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index 938b9caa..7d80c9e4 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Použití +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 6d3c21a7..ea03ce2a 100644 --- a/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/cs/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Použití +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index ea119db7..154d90e5 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index da3af104..0ee7e2b6 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # DHIS2 Často kladené otázky { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index c7e27d11..5bffab58 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Slovník DHIS2 { #dhis2_glossary } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 9294c6ef..57a39d4a 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Výukové programy DHIS2 { #dhis2_tutorials } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index c3981e4d..3b7368a0 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Poznámky k vydání a upgradu { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 31792ce1..1089654d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Správa ovládacích panelů { #dashboard } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index 7df7ad15..30911115 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Data Visualizer { #data_visualizer } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index 36bce72b..f78e4071 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Hlášení o události { #event_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index d3fc5c5d..105de9c8 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Vizualizér událostí { #event_visualizer_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index 0089148a..9e536984 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index a9bb8dea..ec7d52d9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Mapy { #using_maps } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index c39e379f..fa7dcc8d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Funkce hlášení v aplikaci pro přehledy { #using_the_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md index e2b99d59..2dcfdecf 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Schválení dat { #data_approval_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index ee8f9b2a..4fdac405 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index ada780f0..838e653c 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Zadávání dat { #data_entry_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index 84f95e06..4b081323 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Kontrola kvality dat { #control_data_quality } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index d9a36cc4..829ba931 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # O sdílení objektů { #sharing } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index 6490d99c..b7e0c6c4 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Nakonfigurujte aplikaci Mapy { #gis_creating } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 4a3b3ef7..bdf038ae 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Nakonfigurujte metadata { #maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index 35722746..c4006dd7 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Konfigurace programů v aplikaci Údržba { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 1c22749b..3a8318e3 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Nakonfigurujte funkčnost sestavy { #setting_up_reporting } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 7686b95c..9011a5d9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Nastavení systému { #settings } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index 0ab9fe85..b5631006 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Uživatelské oprávnění { #user_authorities } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index c93c4599..a614019f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Spravujte uživatele, uživatelské role a skupiny uživatelů { #manage_user_role_group } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index 19c75aab..51e5ff35 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Aplikace Import / export { #import_export } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index 72ecfe81..47a1ef0c 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Konfigurace synchronizace metadat { #metadata_sync } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index 4d9d1b57..ec9af8ce 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Konfigurace SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index 9be31072..2fd038a8 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Správa dat { #data_admin } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md index ff63fd27..388b3535 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Správce datového úložiště { #datastore_manager_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md index 9d7cfdbe..036a604d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- > **Caution** diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md index 57f98955..60a00c32 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Mobilní IT { #mobile } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md index 2ecd315f..6e7d5a82 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Plánování { #scheduling } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index 0512550c..a46a77be 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Vizualizujte statistiky využití { #using_usage_analytics } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index d7f7071a..c7dc5cc1 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Capture { #capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index cab40e95..6b4d54cc 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Event Capture { #event_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index e87220bb..a7e9f0b9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Použití aplikace Tracker Capture { #tracker_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 220a7e8b..b2ee5160 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # O dimenzích dat { #data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 7a63a768..0cca32a6 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Další dimenze dat { #additional_data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index 57bee9f0..61ba9a03 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Vztahový model { #relationship_model } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 81f58fee..43973577 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Zprávy { #messages } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index e4ac69e0..e4f6541f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Osobní přístupové tokeny { #personal_access_tokens } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index 1033b688..d84044fe 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.38 - Použití +- DHIS core version 2.38 --- # Nastavte předvolby uživatelského účtu { #user_account_preferences } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 9b2e6489..9459244e 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index 761f490d..4d14caab 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # DHIS2 Často kladené otázky { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md index f02cba5a..3f7e0a3e 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Slovník DHIS2 { #dhis2_glossary } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 184234e5..ae68e65b 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Výukové programy DHIS2 { #dhis2_tutorials } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md index 874b8f49..efecd4ae 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Správa ovládacích panelů { #dashboard } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md index e4c80853..d29d309a 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Data Visualizer { #data_visualizer } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md index e4df62b8..80a9e679 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Hlášení o události { #event_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md index 86817b23..bbb6bb7d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Vizualizér událostí { #event_visualizer_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md index 44cfb032..294abd92 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md index 43a2bcfd..fca4f510 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-maps-app.md" revision_date: '2022-09-13' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Mapy { #using_maps } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md index 03c0c5d4..a0770e71 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Funkce hlášení v aplikaci pro přehledy { #using_the_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md index e1f9a468..de953cb1 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Schválení dat { #data_approval_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md index b8f27313..42749fe9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md index eeaafcd8..ec2ed23e 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Data Entry (beta) app { #data-entry-beta-app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md index 3567bd0e..d5a57638 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Zadávání dat { #data_entry_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md index 3658b1c0..b1f867cb 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Kontrola kvality dat { #control_data_quality } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 4ab37e7b..e396c0bd 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # O sdílení objektů { #sharing } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md index d683bf1f..72348ee5 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-the-gis-app.md" revision_date: '2022-10-23' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Configure DHIS2 Maps { #gis_creating } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md index 6abb2aca..999f5ce6 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata.md" revision_date: '2022-10-28' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Nakonfigurujte metadata { #maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md index 483a12df..1eb3595f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Konfigurace programů v aplikaci Údržba { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md index 99662a89..b66b263f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Nakonfigurujte funkčnost sestavy { #setting_up_reporting } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md index 7cab6e32..5d802bb1 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/system-settings.md" revision_date: '2022-09-13' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Nastavení systému { #settings } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md index 0393d670..efaead55 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Uživatelské oprávnění { #user_authorities } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index 1964102d..be469c5f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-10-12' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Spravujte uživatele, uživatelské role a skupiny uživatelů { #manage_user_role_group } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md index f7eda30b..1e6c4ef9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-exchange.md" revision_date: '2023-02-16' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Výměna dat { #data_exchange } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md index c33442d9..f88a62d8 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Aplikace Import / export { #import_export } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md index 015b40b6..693f51fd 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Konfigurace synchronizace metadat { #metadata_sync } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md index 8faadb0a..ae9e4755 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Konfigurace SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md index 437e5fc5..3140391c 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Správa dat { #data_admin } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md index ebb9aafe..2fe1257b 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Správce datového úložiště { #datastore_manager_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md index acaf400d..e55a5069 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- > **Caution** diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md index 7540172d..60ef7125 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Mobilní IT { #mobile } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md index 702daf2c..0c16d34f 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Plánování { #scheduling } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index e7f38e7f..c3a262aa 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Vizualizujte statistiky využití { #using_usage_analytics } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index e599a832..8e60b086 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Capture { #capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 72a0adb2..569ad76c 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Event Capture { #event_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index b9ba4601..b8fceb08 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Použití aplikace Tracker Capture { #tracker_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 8e89fb70..376279a1 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # O dimenzích dat { #data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index bdf6831c..3b2f7128 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Další dimenze dat { #additional_data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md index e9ddedb5..5bf6c899 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Zprávy { #messages } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index abd8c12b..77d47991 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS základní verze 2.39 - Použití +- DHIS základní verze 2.39 --- # Osobní přístupové tokeny { #personal_access_tokens } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 8a46f2a0..98997496 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index f63b977d..8fe1620c 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # DHIS2 Často kladené otázky { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md index 868760db..8f7b97d6 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Slovník DHIS2 { #dhis2_glossary } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 5c112a3c..e013f8a7 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Výukové programy DHIS2 { #dhis2_tutorials } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index e9fcb5af..6d035520 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Poznámky k vydání a upgradu { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md index ac5e05d7..743eb486 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dashboard-app/blob/master/docs/dashboards.md" revision_date: '2023-06-09' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Správa ovládacích panelů { #dashboard } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md index b99e81cc..54c04dc6 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/data-visualizer-app/blob/master/docs/data-visualizer.md" revision_date: '2024-04-11' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Data Visualizer { #data_visualizer } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md index b259e802..55bd2e70 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Hlášení o události { #event_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md index e0e6bce4..aee3d97d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Vizualizér událostí { #event_visualizer_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md index ad00fe63..1588a814 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md index a12ca8b1..fc7a0690 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/maps-app/blob/master/docs/maps.md" revision_date: '2024-07-31' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Mapy { #using_maps } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md index 6095602c..140c48fe 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Funkce hlášení v aplikaci pro přehledy { #using_the_reports_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md index 5214d499..61e17c54 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Schválení dat { #data_approval_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md index fe4da5dd..ab6e54b7 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md index 4f1c7800..b5a32ccc 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Data Entry (beta) app { #data-entry-beta-app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md index b2c37a88..35774fc7 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Zadávání dat { #data_entry_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md index 3b550d08..66e8171a 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Kontrola kvality dat { #control_data_quality } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 5ae1de32..c6e5e903 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # O sdílení objektů { #sharing } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md index 02e41d42..167e8917 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-the-gis-app.md" revision_date: '2022-10-23' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Configure DHIS2 Maps { #gis_creating } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md index 9ca945ce..75993639 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-metadata.md" revision_date: '2023-07-20' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Nakonfigurujte metadata { #maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md index 4a2f17c4..e2778227 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Konfigurace programů v aplikaci Údržba { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md index 04254ef9..4504167a 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Nakonfigurujte funkčnost sestavy { #setting_up_reporting } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md index e1b0d919..06705b1e 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/system-settings.md" revision_date: '2024-01-25' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Nastavení systému { #settings } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md index da23afae..995da5e7 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Uživatelské oprávnění { #user_authorities } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index babeab16..4dd8bb44 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-10-12' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Spravujte uživatele, uživatelské role a skupiny uživatelů { #manage_user_role_group } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md index e7cd0ac9..f2bc4c78 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-exchange.md" revision_date: '2023-02-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Výměna dat { #data_exchange } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md index da53f95f..624d942b 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Aplikace Import / export { #import_export } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md index b9d73ab6..679ec284 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Konfigurace synchronizace metadat { #metadata_sync } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md index c42415e1..9f340980 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Konfigurace SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md index 3c62886a..9d0765bd 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Správa dat { #data_admin } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md index 4602e859..ed8c8c78 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Správce datového úložiště { #datastore_manager_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md index 13b9a9a1..de7ac602 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- > **Caution** diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md index bc61b859..ed7f2326 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/mobile.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Mobilní IT { #mobile } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md index b2ddb222..6bf94887 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Plánování { #scheduling } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index 29b93e65..57e9bdde 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Vizualizujte statistiky využití { #using_usage_analytics } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index bd9e4f3d..07768282 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Capture { #capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 092f4148..59eba32d 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Event Capture { #event_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 697a8b76..deb89f89 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Použití aplikace Tracker Capture { #tracker_capture_app } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 1f79379a..14325d8a 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # O dimenzích dat { #data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 1a81ea50..a99e6fd5 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Další dimenze dat { #additional_data_dimensions } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index c18bdd89..2a1174a9 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Vztahový model { #relationship_model } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md index b29af872..533af8aa 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/messaging.md" revision_date: '2021-06-14' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Zprávy { #messages } diff --git a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index 9caa2133..de2335a1 100644 --- a/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/cs/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- Použití - DHIS základní verze 2.40 +- Použití --- # Osobní přístupové tokeny { #personal_access_tokens } diff --git a/projects/docs-full-site/es_419/.cache_timestamp b/projects/docs-full-site/es_419/.cache_timestamp index cb4644ff..17771fab 100644 --- a/projects/docs-full-site/es_419/.cache_timestamp +++ b/projects/docs-full-site/es_419/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:20:48Z \ No newline at end of file +2024-11-05T21:21:59Z \ No newline at end of file diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md index 5b4d1220..75efd292 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/developer/web-api/metadata.md" revision_date: '2024-04-26' tags: -- DHIS core version 2.40 - Desarrollar +- DHIS core version 2.40 --- # Metadata { #metadata } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md index a30ef29c..d4ef6087 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/analytics.md" revision_date: '2024-05-02' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Analytics { #analytics } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md index 22526536..9e1b26a2 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Apps { #apps } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md index d7721dc6..1894c6f6 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/audit.md" revision_date: '2023-06-23' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Audit { #audit } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md index f5e38b08..f578c121 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Data approval { #data-approval } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md index f35cda7e..2b63128b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md index 513ea946..bdcfcb8b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Data store { #data-store } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md index 87e490fe..9d639d67 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Email { #email } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md index a04f7c16..c5382dfc 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md index 4a480fb2..a2990d8e 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # I18n { #i18n } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md index cf051237..786550be 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Overview { #webapi } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md index f9353e54..7900fa57 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Maintenance { #maintenance } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md index a69b09c9..1154f1c9 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Messaging { #messaging } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md index fb5fb1a0..8f6a3f8e 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md index 4c2ff76e..35adfcea 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Metadata { #metadata } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md index 7a016780..2a0368da 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Perfil de la unidad organizativa { #org_unit_profile } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md index 734982e5..ea7f49c1 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md index 3c33772b..d79681df 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/route.md" revision_date: '2024-09-24' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Route { #route } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md index 34e89256..87fbe2a2 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Scheduling { #webapi_scheduling } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md index 6adba73a..dbe1faad 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Settings and configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md index c3944df7..cdeb89c5 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Compartir { #sharing } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md index a895adf5..ad050a89 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # SMS { #sms } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md index aecf4671..8ecacba3 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Sincronización { #webapi_synchronization } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md index 49f5ae81..21bb016b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker-old.md" revision_date: '2024-05-23' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Tracker (deprecated APIs) { #tracker-deprecated-apis } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md index 7632155f..23cc8a4d 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker.md" revision_date: '2024-07-02' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Tracker { #tracker } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md index ee2043a3..c5d6a519 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Desarrollar - DHIS core version 2.41 +- Desarrollar --- # Users { #users } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index 11e0fa63..b957980b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,9 +1,9 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Analytics { #analytics } @@ -326,12 +326,15 @@ below. above called "Date and period format" for the period format and available relative periods. - - For the organisation unit dimension, you can specify the items to be - the organisation unit or sub-units of the organisation unit - associated with the user currently authenticated for the request - using the keys `USER_ORGUNIT` or `USER_ORGUNIT_CHILDREN` as items, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md index 0556d26d..872b017f 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Apps { #apps } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md index ff004af4..b1de9117 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/audit.md" revision_date: '2024-06-24' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Audit { #audit } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md index 1c3454a4..cb1401db 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data approval { #data-approval } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md index 418983e5..2c480e5c 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md index fb627b2a..15540805 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-exchange.md" revision_date: '2024-09-18' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data exchange { #data-exchange } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md index a38b7c03..9aa9998f 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data.md" revision_date: '2024-05-23' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data { #data } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md index ffb8be40..fc976653 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data store { #data-store } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md index b280d021..b820738f 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-validation.md" revision_date: '2024-03-13' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Data validation { #data-validation } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md index dc6f6fd7..1c11721f 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Email { #email } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md index b96a0725..b152b51c 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md index 004a2e86..8829f31c 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # I18n { #i18n } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md index d0d2b81a..89e82a32 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Overview { #webapi } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md index ee7634fb..1ddb3c50 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Maintenance { #maintenance } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md index 601f7fba..ecb25ce4 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Messaging { #messaging } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md index c4d99bed..d0ba553d 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index d27ee2db..01f974aa 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Metadata { #webapi_metadata } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md index 19e27f30..8ee1fce9 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Perfil de la unidad organizativa { #org_unit_profile } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md index b932d389..e4c1c3fd 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md index 634a4dc8..5c245384 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/route.md" revision_date: '2024-05-15' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Route { #route } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md index 28d95434..3620a9a0 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Scheduling { #webapi_scheduling } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md index 55ca6217..72c58b5b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Settings and configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md index c0f751b3..d02b006b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Compartir { #sharing } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md index 52744567..ce988a04 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # SMS { #sms } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md index 10e60e9a..b2fe303b 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Sincronización { #webapi_synchronization } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index d0367080..aef8a0be 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Tracker { #webapi_tracker } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md index 60ce938e..bb6654ce 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Users { #users } diff --git a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md index 8097b68c..93705e4e 100644 --- a/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md +++ b/projects/docs-full-site/es_419/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/visualizations.md" revision_date: '2024-03-05' tags: -- Desarrollar - DHIS core version master +- Desarrollar --- # Visualizations { #visualizations } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__HEALTH__IMMUNIZATION__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__user-manual-md b/projects/docs-full-site/es_419/IMPLEMENT__HEALTH__IMMUNIZATION__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__user-manual-md index d1497911..6a0fe7b0 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__HEALTH__IMMUNIZATION__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__user-manual-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__HEALTH__IMMUNIZATION__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__user-manual-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2-metadata/IMM_AEFI/blob/master/docs/immunisation_analysis_app_user_manual.md" revision_date: '2022-12-08' tags: -- Implementar - App version 1.0.3 +- Implementar --- # User Manual for the DHIS2 Immunisation Analysis App { #user-manual-for-the-dhis2-immunisation-analysis-app } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index e67d331e..8e490514 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Implementar - DHIS core version 2.35 - Android app version 2.3.0 -- Implementar --- # DHIS2 Android App version 2.3 Release Note { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index 45be5f0a..62e02d27 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Implementar - Android app version 2.4.0 - DHIS core version 2.36 -- Implementar --- # DHIS2 Android App version 2.4 Release Notes { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index bdd17284..20cc0283 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core version 2.37 -- Android app version 2.5.0 - Implementar +- Android app version 2.5.0 --- # DHIS2 Android App version 2.5 Release Notes { #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md index b28809a9..87dacf23 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.6/ReleaseNote-2.6.0.md" revision_date: '2022-04-18' tags: -- DHIS core version 2.38 -- Android app version 2.6.0 - Implementar +- Android app version 2.6.0 +- DHIS core version 2.38 --- # DHIS2 Android App version 2.6 Release Notes { #dhis2-android-app-version-26-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index dc7b9fb5..8f0f3d86 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Implementar - Android app version 2.7.0 - DHIS core version 2.39 -- Implementar --- # DHIS2 Android App version 2.7 Release Notes { #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index b35bc2ed..edc24e15 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Android app version 2.8.0 -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 +- Android app version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md index 01717350..57783256 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/2.9/android-releases/2.9/ReleaseNote-2.9.0.md" revision_date: '2023-11-20' tags: -- Android app version 2.9.0 -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 +- Android app version 2.9.0 --- # DHIS2 Android App version 2.9 Release Notes { #dhis2-android-app-version-29-release-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index 03bc7913..94fd244d 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Implementar +- DHIS core version 2.35 --- # DHIS version 2.35 Release Note { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index 04b93294..35865646 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Implementar +- DHIS core version 2.35 --- # 2.35 Upgrade Notes { #235-upgrade-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 733a02b1..0da8781c 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Implementar +- DHIS core version 2.36 --- # DHIS version 2.36 Release Note { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index 7a66236a..a2d79b34 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Implementar +- DHIS core version 2.36 --- # 2.36 Upgrade Notes { #236-upgrade-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md index a12fe709..0dc149ee 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/ReleaseNote-2.38.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.38 - Implementar +- DHIS core version 2.38 --- # DHIS version 2.38 Release Note { #dhis-version-238-release-note } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md index 28dfa515..2ce81038 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.38 - Implementar +- DHIS core version 2.38 --- # 2.38 Upgrade Notes { #238-upgrade-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index 2da82f13..ae65667b 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS core version 2.39 - Implementar +- DHIS core version 2.39 --- # DHIS version 2.39 Release Note { #dhis-version-239-release-note } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index 15a4957c..a3fa8aae 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.39 - Implementar +- DHIS core version 2.39 --- # 2.39 Upgrade Notes { #239-upgrade-notes } diff --git a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 53159870..9e5fa8ff 100644 --- a/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/es_419/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..b3e7b6a0 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Audit { #audit } + +## Introducción { #introduction } + +DHIS2 soporta un nuevo servicio de auditoría basado en _Apache ActiveMQ Artemis_. Artemis se utiliza como un sistema de mensajería asíncrona por DHIS2. + +Después de guardar una entidad en la base de datos, se creará un mensaje de auditoría y se enviará al servicio de consumidor de mensajes de Artemis. El mensaje entonces será procesado en un subproceso diferente. + +Los registros de auditoría pueden recuperarse de la base de datos de DHIS2. Actualmente no hay UI o API endpoint disponible para recuperar las entradas de auditoría. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Tabla de auditoría única { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Columna | Tipo | Descripción | +| --- | --- | --- | +| auditid | entero | Clave primaria. | +| auditType | texto | LEER, CREAR, ACTUALIZAR, ELIMINAR, BUSCAR | +| auditscope | texto | METADATOS, AGREGADO, TRACKER | +| klass | texto | Nombre de la clase Java de la entidad auditoría. | +| attributes | jsonb | Una cadena JSON con atributos del objeto auditado. Ejemplo: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| data | bytea | Cadena JSON comprimida de la entidad de auditoría en formato de matriz de bytes (no legible por humanos). | +| createdat | marca de tiempo sin zona horaria | Tiempo de creación. | +| createdby | texto | Nombre de usuario del usuario que realiza la operación auditada. | +| uid | texto | El UID del objeto auditado. | +| code | texto | El código del objeto auditado. | + +El servicio de auditoría hace uso de dos nuevos conceptos: _Ámbito de auditoría_ y _Tipo de auditoría_. + +## Ámbito de auditoría { #audit_scope } + +Un ámbito de auditoría es un área lógica de la aplicación que puede ser auditada. Actualmente existen tres ámbitos de auditoría. + +| Scope | Clave | Objetos auditados | +| --- | --- | --- | +| Tracker | TRACKER | Instancia de entidad Tracker, Valor de atributo de entidad Tracker, Inscripción, Evento. | +| Metadatos | METADATA | Todos los objetos de metadatos (por ejemplo, elemento de datos, unidad organizativa). | +| Agregado | AGGREGATE | Valor de datos agregados. | + +## Tipo de auditoría { #audit_type } + +Un tipo de auditoría es una acción que desencadena una operación de auditoría. Actualmente admitimos los siguientes cuatro tipos. + +| Nombre | Clave | Descripción | +| -------- | -------- | ------------------- | +| Read | READ | Se leyó el objeto. | +| Create | CREATE | El objeto fue creado. | +| Update | UPDATE | El objeto fue actualizado. | +| Delete | DELETE | El objeto fue eliminado. | +| Disabled | DISABLED | Deshabilitar auditoría. | + +> **Precaución** +> +> El tipo de auditoría READ puede generar una gran cantidad de datos en la base de datos y puede tener un impacto en el rendimiento. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Columna | Tipo | Descripción | +| --- | --- | --- | +| trackedentityinstanceauditid | entero | Clave primaria. | +| trackedentityinstance | texto | Tracked entity instance name. | +| created | marca de tiempo sin zona horaria | Tiempo de creación. | +| accessedby | texto | Nombre de usuario del usuario que realiza la operación auditada. | +| auditType | texto | LEER, CREAR, ACTUALIZAR, ELIMINAR, BUSCAR | +| comment | texto | El código del objeto auditado. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Columna | Tipo | Descripción | +| --- | --- | --- | +| trackedentityattributevalueauditid | entero | Clave primaria. | +| trackedentityinstanceid | entero | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | entero | Attribute ID. | +| created | marca de tiempo sin zona horaria | Tiempo de creación. | +| modifiedby | texto | Nombre de usuario del usuario que realiza la operación auditada. | +| auditType | texto | LEER, CREAR, ACTUALIZAR, ELIMINAR, BUSCAR | +| value | texto | The value of the audited object. | +| encryptedvalue | texto | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Columna | Tipo | Descripción | +| --- | --- | --- | +| trackedentitydatavalueauditid | entero | Clave primaria. | +| programstageinstanceid | entero | Program stage ID of which the data value belongs to. | +| dataelementid | entero | ID of the data element. | +| created | marca de tiempo sin zona horaria | Tiempo de creación. | +| modifiedby | texto | Nombre de usuario del usuario que realiza la operación auditada. | +| auditType | texto | LEER, CREAR, ACTUALIZAR, ELIMINAR, BUSCAR | +| value | texto | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## Breaking the glass { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| Columna | Tipo | Descripción | +| --- | --- | --- | +| programtempownershipauditid | entero | Clave primaria. | +| programid | entero | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | entero | Instance ID of which the attribute value belongs to. | +| created | marca de tiempo sin zona horaria | Tiempo de creación. | +| accessedby | texto | Nombre de usuario del usuario que realiza la operación auditada. | +| reason | texto | The reason as inserted in the dialog. | + +## Configurar { #audit_configuration } + +El sistema de auditoría está habilitado de forma predeterminada para los siguientes ámbitos y tipos. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Tipos: + +- `METADATOS` +- `TRACKER` +- `AGREGADO` + +Esto significa que **no se requiere ninguna acción** para habilitar el sistema de auditoría predeterminado. La configuración predeterminada es equivalente a la siguiente configuración `dhis.conf`. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +La auditoría se puede configurar utilizando la _matriz de auditoría_. La matriz de auditoría representa las combinaciones válidas de ámbitos y tipos, y se define con las siguientes propiedades en el archivo de configuración `dhis.conf`. Cada propiedad acepta una lista delimitada por punto y coma (`;`) de tipos de auditoría. + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## Examples { #examples } + +Esta sección demuestra cómo configurar el sistema de auditoría en `dhis.conf`. + +Para habilitar la auditoría de creación y actualización de metadatos y tracker únicamente: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +Para auditar sólo objetos relacionados con tracker crear y eliminar: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +Para deshabilitar completamente la auditoría para todos los ámbitos: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..646ed5e1 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Visión general { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuración { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..da5e734b --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Deployment Architectures { #deployment-architectures } + +## Introducción { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Descripción| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..7bf2e7d5 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introducción { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Later DHIS2 versions require the following software versions to operate. + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. PostGIS database extension version 2.2 or later. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Task| Descripción | Estado | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Month|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Capacitación; e|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|July|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..4bb6e482 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Gestionar +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Start the server + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/es_419/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..ad7d2a41 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Gestionar +--- + +# Using Gateways for SMS reporting { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +Sending SMS, i.e. from the DHIS2 server to mobile devices, is relatively simple to set up. If all that is required is the sending of notifications to users phones from DHIS2 when certain events occur (messaging, thresholds e.t.c.) only sending SMS is required. + +This can all be configured in the SMS Service Configuration page within the [Mobile Configuration section](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +There is out of the box support for common providers such as *Bulk SMS* and *Clickatell*, and both providers support sending of SMS to numbers in most countries. + +Note also, it is possible to use a different SMS Gateway for sending and receiving SMS. So even if you set up a solution for receiving SMS below, it is still possible to use one of the aforementioned solutions above for sending SMS. + +## Using an Android device as SMS Gateway { #sms_report_android_gateway } + +The simplest solution by far is to use a dedicated Android device as your SMS Gateway. Any phone or tablet running Android OS (4.4, Kitkat or above) should be fine. It will require a constant internet connection, in order to forward messages to your DHIS2 server and it will also need a SIM card to receive the incoming SMS. + +You’ll need to download and install the DHIS2 Android SMS Gateway app on the mobile device. See a list of [releases](https://github.com/dhis2/dhis2-sms-android-gateway/releases) where you can download the latest APK file to install. There are instructions on the app page itself, but essentially you’ll just need to start the app and enter the details of your DHIS2 server (URL, username and password). + +Once this is set up and running, you then enter the phone number of this gateway device in the configuration page of any other mobile device using the DHIS2 Capture App. Then, when SMS are sent from these reporting devices, they will be received on the gateway device and automatically forwarded to the DHIS2 server where they will be processed. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Sending SMS using an Android Device Gateway { #sending-sms-using-an-android-device-gateway } + +This option is currently not supported nor documented. + +## Dedicated SMS Gateways { #sms_report_dedicated_gateway } + +This section discusses the use of more permanent and dedicated SMS gateways and the options available. Each of these options below will involve a provider (or yourself) having an SMPP connection to a phone carrier in country and using this connection to receive incoming SMS and forward them on to your DHIS2 server over the internet using HTTP. + +These solutions can either use a **long number** or **short code**. A long number is a standard mobile phone number of the type that most private people use, i.e. +61 400123123. A short code is simply a short number, such as 311. Short codes typically cost more to set up and maintain. + +### Ensuring incoming SMS to DHIS2 server are formatted correctly { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +When sending incoming SMS to a DHIS2 server via the API you use the following URL: *https:///api/sms/inbound* + +In DHIS2 version 2.34 and below, this endpoint requires the format of inbound SMS to be in a very specific format, i.e. the message itself must be a parameter called text, the phone number of the sender must be a parameter called originator. + +When using all of the below SMS gateway options, when you configure them to forward incoming SMS on to another web service, they will each have their own format, which will be different to the one expected by the DHIS2 API. For this reason then, it’s necessary to reformat them before sending them on to the DHIS2 server. + +One option is to run your own very simple web service, which simply receives the incoming SMS from the gateway provider, reformats it to the one required for DHIS2 and forwards it on to your DHIS2 API. Such a service would need to be written by a software developer. + +In DHIS2 version 2.35, it is planned to support these cases with a templating system for incoming SMS, so you can specify the format of the messages which will be sent from your provider. That way, you can configure the DHIS2 server to accept incoming SMS from any other SMS gateway provider and they can directly send incoming SMS to the DHIS2 API, without the need for such a formatting web service. + +### Using RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/) is a service run by UNICEF in over 50 countries around the world. It is a collection of software which works with in-country phone carriers to enable organisations to design SMS solutions for their projects, such as SMS reporting or awareness campaigns. + +The RapidPro service will involve an SMPP connection to one or more phone carriers in-country, usually via a shortcode, potentially dedicated to Health work for NGOs. It’s then possible to add a webhook so that incoming SMS are forwarded to another web service, such as the formatting web service described above. If the shortcode is used for other purposes as well, it may be necessary to add the phone numbers of your reporting devices to a separate group, so that only the incoming SMS from those devices is forwarded to the webhook. + +RapidPro is currently set up and running in roughly half of the countries which are currently using or piloting DHIS2. Before considering one of the solutions below, which can be costly in terms of both finance and time, it is worth getting in contact with Unicef to see if RapidPro is available and if it can be used for health reporting in your country. + +### Using commercial SMS gateway providers { #using-commercial-sms-gateway-providers } + +Of the commercial SMS gateway providers mentioned in the Sending SMS section above, they will usually have capability to *send* SMS in most countries but can only support *receiving* SMS in a limited amount of countries. The majority of countries they support receiving SMS in are not those using DHIS2. Of the countries that are using DHIS2, most are already covered by having a RapidPro service running in-country. + +However, it is worth researching what commercial options are available for your country. In some countries there will be small national companies that provide SMS services, they’ll have existing SMPP connections with the phone providers you can use. + +### Using phone carriers directly { #using-phone-carriers-directly } + +If none of the above solutions are available it would be necessary to approach the phone carriers in your country directly. The first question to ask them would be whether they are aware of any companies which are operating SMPP connections with them which you may be able to approach. + +If not, as a final option, you would need to consider setting up and maintaining your own SMPP connection with the phone provider. However, not all phone providers might offer such a service. + +You would need to run your own server running software such as [Kannel](https://www.kannel.org/), which connects (usually via a VPN) to an SMPP service running in the phone providers network. With this in place, any incoming SMS for the configured long number or shortcode are sent from the phone carrier to your Kannel server and you can then forward on these messages as above. + +### Receiving concatenated or multipart SMS { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +When selecting an SMS gateway then, it is important to confirm that the phone carrier used supports concatenated SMS. Most of them will support this, but it is important to confirm as the SMS functionality will not work if SMS are split. This relies on something called a UDH (User Data Header). When discussing with providers then, ensure you ask if it is supported. + diff --git a/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..f848b200 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..b6005d54 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Creating a user to run DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Important** +> +> You should not run the DHIS2 server as a privileged user such as root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Creating the configuration directory { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## PostgreSQL installation { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Java installation { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Instalación +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Verify that your installation is correct by invoking: +``` +java -version +``` + +## DHIS2 configuration { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +A configuration file for PostgreSQL corresponding to the above setup has +these properties: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Tomcat and DHIS2 installation { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Running DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..97a85987 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/es_419/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/es_419/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..681c5151 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Cloud Hosting { #cloud-hosting } + +## Introducción { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/es_419/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/es_419/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..9154a013 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Physical Hosting { #physical-hosting } + +## Introducción { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/es_419/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/es_419/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..83a8e8e0 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Requisitos { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusión { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/es_419/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/es_419/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..3e9e8209 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +# Web server cluster configuration { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Clustering overview { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +There are a few aspects to configure in order to run DHIS 2 +in a cluster. + +* A Redis data store must be installed and connection information must +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +apps and file uploads, either through the *AWS S3 cloud filestorage* option +or a shared network drive. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +across the cluster instances. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Redis shared data store cluster configuration { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Specifies where the redis server is running. Defaults to *localhost*. Mandatory. + +- *redis.port*: Specifies the port in which the redis server is listening. Defaults to *6379*. Optional. + +- *redis.password*: Specifies the authentication password. If a password is not required it can be left blank. + +- *redis.use.ssl*: Specifies whether the Redis server has SSL enabled. Defaults to false. Optional. Defaults to *false*. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Files folder configuration { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +There are two ways to achieve a shared location: + +* Use the *AWS S3 cloud filestorage* option. Files will be stored in an +S3 bucket which is automatically shared by all DHIS 2 instances in the cluster. +See the *File store configuration* section for guidance. +* Set up a shared folder which is shared among all DHIS 2 instances and +servers in the cluster. On Linux this can be achieved with *NFS* (Network File System) +which is a distributed file system protocol. Note that only the `files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## Load balancer configuration { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/es_419/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/es_419/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..f2d87143 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__audit-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__audit-md index a7461778..f802c8a9 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__audit-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/sysadmin/audit.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.39 - Gestionar +- DHIS core version 2.39 --- # Audit { #audit } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__monitoring-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__monitoring-md index 0e82eb18..d0a24dbd 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__monitoring-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__monitoring-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/sysadmin/monitoring.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Gestionar +- DHIS core version 2.39 --- # Monitoring { #monitoring } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__upgrading-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__upgrading-md index e3a4178f..5f18d07c 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__upgrading-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__upgrading-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/sysadmin/upgrading.md" revision_date: '2023-05-05' tags: -- DHIS core version 2.39 - Gestionar +- DHIS core version 2.39 --- # Upgrading { #upgrading-dhis2 } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__using-gateways-for-sms-reporting-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__using-gateways-for-sms-reporting-md index 09fd0071..b6c97839 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__using-gateways-for-sms-reporting-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-239__using-gateways-for-sms-reporting-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/sysadmin/SMS-reporting.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - Gestionar +- DHIS core version 2.39 --- # Using Gateways for SMS reporting { #sms_report_sending } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__audit-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__audit-md index a2b3120b..f10bf807 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__audit-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/sysadmin/audit.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Audit { #audit } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__debugging-as-another-user-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__debugging-as-another-user-md index 57da9f8e..41a2d101 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__debugging-as-another-user-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__debugging-as-another-user-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/user-impersonation.md" revision_date: '2024-02-08' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Using the User Impersonation Feature in DHIS2 { #user_impersonation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__installation-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__installation-md index 67cd3c89..e0c7f25f 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__installation-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/sysadmin/installation.md" revision_date: '2024-04-28' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Instalación { #installation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__monitoring-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__monitoring-md index 285a5223..3c08c5d7 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__monitoring-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__monitoring-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/sysadmin/monitoring.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Monitoring { #monitoring } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__upgrading-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__upgrading-md index 9b69a893..4b46a40e 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__upgrading-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__upgrading-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/sysadmin/upgrading.md" revision_date: '2023-05-05' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Upgrading { #upgrading-dhis2 } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__using-gateways-for-sms-reporting-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__using-gateways-for-sms-reporting-md index 3689506d..bf5bb113 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__using-gateways-for-sms-reporting-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-240__using-gateways-for-sms-reporting-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/sysadmin/SMS-reporting.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.40 - Gestionar +- DHIS core version 2.40 --- # Using Gateways for SMS reporting { #sms_report_sending } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__debugging-as-another-user-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__debugging-as-another-user-md index b5c43993..2c80b95f 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__debugging-as-another-user-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__debugging-as-another-user-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/sysadmin/user-impersonation.md" revision_date: '2024-02-08' tags: -- DHIS core version 2.41 - Gestionar +- DHIS core version 2.41 --- # Using the User Impersonation Feature in DHIS2 { #user_impersonation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__installation-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__installation-md index 1bccc374..7c418a8e 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__installation-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/sysadmin/installation.md" revision_date: '2024-04-28' tags: -- DHIS core version 2.41 - Gestionar +- DHIS core version 2.41 --- # Instalación { #installation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__upgrading-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__upgrading-md index f5d7597d..fe6838db 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__upgrading-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-241__upgrading-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/sysadmin/upgrading.md" revision_date: '2023-05-05' tags: -- DHIS core version 2.41 - Gestionar +- DHIS core version 2.41 --- # Upgrading { #upgrading-dhis2 } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__audit-md index b6738798..fd1b0cc2 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/audit.md" revision_date: '2024-05-21' tags: -- DHIS core version master - Gestionar +- DHIS core version master --- # Audit { #audit } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__debugging-as-another-user-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__debugging-as-another-user-md index 3646f6a8..8b64615b 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__debugging-as-another-user-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__debugging-as-another-user-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/user-impersonation.md" revision_date: '2024-02-08' tags: -- DHIS core version master - Gestionar +- DHIS core version master --- # Using the User Impersonation Feature in DHIS2 { #user_impersonation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__installation-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__installation-md index 96f6cf3e..0dc34425 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__installation-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/installation.md" revision_date: '2024-10-21' tags: -- DHIS core version master - Gestionar +- DHIS core version master --- # Instalación { #installation } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__upgrading-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__upgrading-md index bc28984a..0636518b 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__upgrading-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__upgrading-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/upgrading.md" revision_date: '2023-05-05' tags: -- DHIS core version master - Gestionar +- DHIS core version master --- # Upgrading { #upgrading-dhis2 } diff --git a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__using-gateways-for-sms-reporting-md b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__using-gateways-for-sms-reporting-md index 0bea08d7..d0f802b8 100644 --- a/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__using-gateways-for-sms-reporting-md +++ b/projects/docs-full-site/es_419/MANAGE__PERFORMING-SYSTEM-ADMINISTRATION__DHIS-CORE-VERSION-MASTER__using-gateways-for-sms-reporting-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/SMS-reporting.md" revision_date: '2022-09-13' tags: -- DHIS core version master - Gestionar +- DHIS core version master --- # Using Gateways for SMS reporting { #sms_report_sending } diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..acb7f5a1 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Encryption configuration { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```properties +encryption.password = xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## System configuration { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +Sets the system in read-only mode. This is useful when you run DHIS 2 on a read-only replica database, to avoid DHIS 2 performing database write operations. Can be `on` or `off`. Default is `off`. + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +Enables or disables the sensitive database table protection for SQL views. This will prohibit database tables with sensitive data to be queried through SQL views. Disabling is not recommended. Can be `on` or `off`. Default is `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Enables or disables execution of server-side program rules. This refers to program rules which have actions for assigning values, sending messages or scheduling messages to be sent. Can be `on` or `off`. Default is `on`. + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..a6f42ab8 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# File store configuration { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..07b23ee1 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Google service account configuration { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Create a Google service account. Please consult the [Google identify + platform](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + documentation. + + - Visit the [Google cloud console](https://console.cloud.google.com) + and go to API Manager \> Credentials \> Create credentials \> + Service account key. Select your service account and JSON as key + type and click Create. + + - Rename the JSON key to *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..95886b9a --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Gestionar +--- + +## LDAP configuration { #install_ldap_configuration } + +DHIS2 is capable of using an LDAP server for authentication of users. +For LDAP authentication it is required to have a matching user in the +DHIS2 database per LDAP entry. The DHIS2 user will be used to represent +authorities / user roles. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +The LDAP configuration properties are explained below: + +- *ldap.url:* The URL of the LDAP server for which to authenticate + against. Using SSL/encryption is strongly recommended in order to + make authentication secure. As example URL is + *ldaps://domain.org:636*, where ldaps refers to the protocol, + *domain.org* refers to the domain name or IP address, and *636* + refers to the port (636 is default for LDAPS). +- *ldap.manager.dn:* An LDAP manager user is required for binding to + the LDAP server for the user authentication process. This property + refers to the DN of that entry. I.e. this is not the user which will + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* The password for the LDAP manager user. +- *ldap.search.base:* The search base, or the distinguished name of + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* The filter for matching DNs of entries in the + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..21aa89a1 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +# Application logging { #install_application_logging } + +This section covers application logging in DHIS2. + +## Log files { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Log configuration { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Common log levels are `DEBUG`, `INFO`, `WARN` and `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..9d8f2c19 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Gestionar +--- + +# Monitoring { #monitoring } + +## Introducción { #monitoring } + +DHIS2 can export [Prometheus](https://prometheus.io/) compatible metrics for monitoring DHIS2 nodes. + +This section describes the steps required to install Prometheus and [Grafana](https://grafana.com/) using a standard installation procedure (`apt-get`) and Docker and configure Grafana to show DHIS2 metrics. + +For a list of the metrics exposed by a DHIS2 instance, please refer to the monitoring guide on [GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Setup { #monitoring_setup } + +The next sections describe how to set up Prometheus and Grafana and how to set up Prometheus to pull data from one or more DHIS2 instances. + +### Installing Prometheus + Grafana on Ubuntu and Debian { #prometheus } + +- Download Prometheus from the official [download](https://prometheus.io/download/) page. + +- Make sure to filter for your operating system and your CPU architecture (Linux and amd64). + +- Make sure to select the latest stable version, and not the “rc” one, as it is not considered stable enough for now. + +- Download the archive, either by clicking on the link or using `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Untar the zip + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +The archive contains many important files, but here is the main ones you need to know. + +- `prometheus.yml`: the configuration file for Prometheus. This is the file that you are going to modify in order to tweak your Prometheus server, for example to change the scraping interval or to configure custom alerts; +- `prometheus`: the binary for your Prometheus server. This is the command that you are going to execute to launch a Prometheus instance on your Linux box; +- `promtool`: this is a command that you can run to verify your Prometheus configuration. + +### Configuring Prometheus as a service { #prometheus_service } + +- Create a `Prometheus` user with a `Prometheus` group. + +``` +useradd -rs /bin/false prometheus +``` + +- Move the Prometheus binaries to the local bin directory + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Create a folder in the `/etc` folder for Prometheus and move the console files, console libraries and the prometheus configuration file to this newly created folder. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Create a data folder at the root directory, with a prometheus folder inside. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Create a Prometheus service { #prometheus_create_service } + +To create a Prometheus _systemd_ service, head over to the `/lib/systemd/system` folder and create a new systemd file named `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Edit the newly created file, and paste the following content inside: + +```properties +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/local/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +- Save the file and enable the Prometheus service at startup + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Test that the service is running + +``` +systemctl status prometheus + +... +Active: active (running) +``` + +- It should be now possible to access the Prometheus UI by accessing `http://localhost:9090`. + + +### Set-up Nginx reverse proxy { #prometheus_nginx } + +Prometheus does not natively support authentication or TLS encryption. If Prometheus has to be exposed outside the boundaries of the local network, it is important to enable authentication and TLS encryption. The following steps show how to use Nginx as a reverse proxy. + +- Install Nginx, if not already installed + +``` +apt update +apt-get install nginx +``` + +By default, Nginx will start listening for HTTP requests in the default `http` port, which is `80`. + +If there is already an Nginx instance running on the machine and you are unsure on which port it is listening on, run the following command: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +The last column shows the port used by Nginx (`http` -> `80`). + +By default, Nginx configuration is located in `/etc/nginx/nginx.conf` + +Make sure that `nginx.conf` contains the `Virtual Host Config` section + +``` +## +# Virtual Host Configs +## + +include /etc/nginx/conf.d/*.conf; +include /etc/nginx/sites-enabled/*; + +``` + +- Create a new file in `/etc/nginx/conf.d` called `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Edit the newly created file, and paste the following content inside: + +``` +server { + listen 1234; + + location / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx and browse to http://localhost:1234 + +``` +systemctl restart nginx + +# in case of start-up errors +journalctl -f -u nginx.service +``` + +- Configure Prometheus for reverse proxying, by editing `/lib/systemd/system/prometheus.service` and add the following argument to the list of arguments passed to the Prometheus executable. + +``` +--web.external-url=https://localhost:1234 +``` + +- Restart the service + +``` +systemctl daemon-reload +systemctl restart prometheus + + +# in case of errors +journalctl -f -u prometheus.service +``` + +### Enable reverse proxy authentication { #prometheus_auth } + +This section shows how to configure basic authentication via the reverse proxy. If you need a different authentication mechanism (SSO, etc.) please check the relevant documentation. + +- Make sure that `htpasswd` is installed on the system + +``` +apt-get install apache2-utils +``` + +- Create an authentication file + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Choose a strong password, and make sure that the pass file was correctly created. + +- Edit the previously created Nginx configuration file (`/etc/nginx/conf.d/prometheus.conf`), and add the authentication information. + +``` +server { + listen 1234; + + location / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx + +``` +systemctl restart nginx + +# in case of errors +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` should now prompt for username and password. + +### Installing Grafana on Ubuntu and Debian { #grafana } + +- Add a `gpg` key and install the OSS Grafana package from APT repo + +```sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +``` + +- If the system is using `systemd`, a new `grafana-service` is automatically created. Check the `systemd` file to gain some insight on the Grafana installation + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +This file is quite important because it offers information about the newly installed Grafana instance. + +The file shows: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- Start the server + +``` +systemctl start grafana-server +``` + +- Access Grafana web console: http://localhost:3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- Configure Prometheus as a Grafana datasource + +Access to the datasources panel by clicking on `Configuration` > `Data sources` via the left menu. + +Click on `Add a datasource` + +Select a Prometheus data source on the next window. + +Configure the datasource according to the Prometheus setup (use authentication, TSL, etc.) + +### Installing Prometheus + Grafana using Docker { #prometheus_grafana_docker } + +This section describes how to start-up a Prometheus stack containing Prometheus and Grafana. + +The configuration is based on this project: https://github.com/vegasbrianc/prometheus + +- Clone this Github project: https://github.com/vegasbrianc/prometheus + +- Start the Prometheus stack using: + +``` +docker stack deploy -c docker-stack.yml prom +``` + +The above command, may result in the following error: + +*This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again* + +If that happens, you need to start Swarm. You can use the following command line: + +``` +docker swarm init --advertise-addr +``` + +Once this command runs successfully, you should be able to run the previous command without problems. + +The stack contains also a Node exporter for Docker monitoring. If you are not interested in Docker monitoring, you can comment out the relevant sections in the `docker-stack.yml` file: + +- `node-exporter` +- `cadvisor` + +- To stop the Prometheus stack: + +``` +docker stack rm prom +``` + +The Prometheus configuration (`prometheus.yml`) file is located in the `prometheus` folder. + +- Access Grafana web console at: http://localhost:3000 with username: `admin` and password: `foobar` + +### Configure Prometheus to pull metrics from one or more DHIS2 instances { #prometheus_dhis2 } + +Prior to using Prometheus, it needs basic configuring. Thus, we need to create a configuration file named `prometheus.yml` + +> **Note** +> +> The configuration file of Prometheus is written in YAML which strictly forbids to use tabs. If your file is incorrectly formatted, Prometheus will not start. Be careful when you edit it. + +Prometheus’ configuration file is divided into three parts: `global`, `rule_files`, and `scrape_configs`. + +In the global part we can find the general configuration of Prometheus: `scrape_interval` defines how often Prometheus scrapes targets, `evaluation_interval` controls how often the software will evaluate rules. Rules are used to create new time series and for the generation of alerts. + +The `rule_files` block contains information of the location of any rules we want the Prometheus server to load. + +The last block of the configuration file is named `scape_configs` and contains the information which resources Prometheus monitors. + +A simple DHIS2 Prometheus monitoring file looks like this example: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +The global `scrape_interval` is set to 15 seconds which is enough for most use cases. + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +Prometheus may or may not run on the same server as DHIS2: in the above configuration, it is assumed that Prometheus monitors only one DHIS2 instance, running on the same server as Prometheus, so we use `localhost`. + +### Configure the DHIS2 exporter { #dhis2_metrics_conf } + +The monitoring subsystem is disabled by default in DHIS2. + +Each metrics cluster has to be explicitly enabled in order for the metrics to be exported. To configure DHIS2 to export one or more metrics, check this [document](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..6a64e10f --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Gestionar +--- + +# OpenID Connect (OIDC) configuration { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* Google +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### IdP claims and mapping of users { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Configure the Identity Provider for OIDC { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### Redirect URL { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Search for and select *App registrations*. +2. Click *New registration*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. Click *Register*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +In the example below we will configure the Norwegian governmental _HelseID_ OIDC provider using the provider key `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Requisitos { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +The following `dhis.conf` section shows an example of how to enable JWT authentication for an API-based client. + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..2f4df883 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Gestionar +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### PostgreSQL performance tuning { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Determines maximum number of connections which PostgreSQL will allow. + +```properties +shared_buffers = 3GB +``` + +Determines how much memory should be allocated exclusively for +PostgreSQL caching. This setting controls the size of the kernel shared +memory which should be reserved for PostgreSQL. Should be set to around +40% of total memory dedicated for PostgreSQL. + +```properties +work_mem = 24MB +``` + +Determines the amount of memory used for internal sort and hash +operations. This setting is per connection, per query so a lot of memory +may be consumed if raising this too high. Setting this value correctly +is essential for DHIS2 aggregation performance. + +```properties +maintenance_work_mem = 1GB +``` + +Determines the amount of memory PostgreSQL can use for maintenance +operations such as creating indexes, running vacuum, adding foreign +keys. Increasing this value might improve performance of index creation +during the analytics generation processes. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Sets the memory used for buffering during the WAL write process. +Increasing this value might improve throughput in write-heavy systems. + +```properties +synchronous_commit = off +``` + +Specifies whether transaction commits will wait for WAL records to be +written to the disk before returning to the client or not. Setting this +to off will improve performance considerably. It also implies that there +is a slight delay between the transaction is reported successful to the +client and it actually being safe, but the database state cannot be +corrupted and this is a good alternative for performance-intensive and +write-heavy systems like DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Specifies the delay between WAL write operations. Setting this to a high +value will improve performance on write-heavy systems since potentially +many write operations can be executed within a single flush to disk. + +```properties +random_page_cost = 1.1 +``` + +*SSD only.* Sets the query planner's estimate of the cost of a non-sequentially-fetched disk page. A low value will cause the system to prefer index scans over sequential scans. A low value makes sense for databases running on SSDs or being heavily cached in memory. The default value is 4.0 which is reasonable for traditional disks. + +```properties +max_locks_per_transaction = 96 +``` + +Specifies the average number of object locks allocated for each transaction. This is set mainly to allow upgrade routines which touch a large number of tables to complete. + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +Restart PostgreSQL by invoking the following command: + +```sh +sudo systemctl restart postgresql +``` + +## Read replica database configuration { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Working with the PostgreSQL database { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..e9c48e8b --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Gestionar +--- + +## Reverse proxy configuration { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instances of DHIS2 on the same server. It also makes it possible to + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + different than 80 which reduces the consequences of session + hijacking. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Basic nginx setup { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx can now be started, reloaded and stopped with the following +commands: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Enabling SSL with nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Enabling caching with nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Rate limiting with nginx { #install_rate_limiting } + +Certain web API calls in DHIS 2, like the `analytics` APIs, are compute intensive. As a result it is favorable to rate limit these APIs in order to allow all users of the system to utilize a fair share of the server resources. Rate limiting can be achieved with `nginx`. There are numerous approaches to achieving rate limiting and this is intended to document the nginx-based approach. + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +The various elements of the configuration can be described as: + +- *limit_req_zone $binary_remote_addr*: Rate limiting is done per request IP. +- *zone=limit_analytics:20m*: A rate limit zone for the analytics API which can hold up to 10 MB of request IP addresses. +- *rate=20r/s*: Each IP is granted 5 requests per second. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +For a full explanation please consult the [nginx documentation](https://www.nginx.com/blog/rate-limiting-nginx/). + +### Making resources available with nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/es_419/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/es_419/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..14ed3495 --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/es_419/MANAGE__manage-md b/projects/docs-full-site/es_419/MANAGE__manage-md new file mode 100644 index 00000000..b10174ae --- /dev/null +++ b/projects/docs-full-site/es_419/MANAGE__manage-md @@ -0,0 +1,115 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/index.md" +revision_date: '2024-11-04' +tags: +- Gestionar +--- + +# Instalación { #installation } + +This section contains information related to the installation, management and maintenance of DHIS2 systems. It provides information on how to install DHIS2 in various contexts, including online central server, offline local network or standalone application. + +## Introducción { #install_introduction } + +--- + +DHIS2 runs on all platforms for which there exists a Java JRE, which includes most popular operating systems such as Linux, Windows and Mac. DHIS2 is packaged as a standard Java Web Archive (WAR-file) and thus runs on any Servlet containers such as Tomcat and Jetty. Its writes its data to a PostgreSQL database. Its recommended that you run it on a Supported Ubuntu LTS system, + +This chapter provides a guide for setting up the above technology stack. It should however be read as a guide for getting up and running and not as an exhaustive documentation for the mentioned environment. We refer to the official Ubuntu, PostgreSQL and Tomcat documentation for in-depth reading. + +## Server specifications { #install_server_specifications } + +--- + +DHIS2 is a database intensive application and requires that your server has an appropriate amount of RAM, a good number of CPU cores and a fast disk, preferably an solid state disk (ssd). These recommendations should be considered as rules-of-thumb and not exact measures. DHIS2 scales linearly on the amount of RAM and number of CPU cores so the more you can afford, the better the application will perform. + +- _RAM_ + : At least 8 GB for a small instance, 16 GB for a medium instance, 64 GB or more for a large instance. +- _CPU_ + : 4 CPU cores for a small instance, 8 CPU cores for a medium instance, 16 CPU cores or more for a large instance. +- _Disk_ + : SSD is recommended as the storage device. Minimum read speed is 150 Mb/s, 200 Mb/s is good, 350 Mb/s or better is ideal. At least 100 GB storage space is recommended, but will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of storage space. Plan ahead and ensure that your server can be upgraded with more disk space as needed. On linux, you can test disk latency and throughput with below commands + + ``` + # disk latency + dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync + + # disk throughput + dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync + + # remove /tmp/test1.img after testing + rm -v -i /tmp/test1.img + ``` + +## Software requirements { #install_software_requirements } + +--- + +Later DHIS2 versions require the following software versions to operate. + +- An operating system for which a Java JDK or JRE version 8 ,11 or 17 exists. Ubuntu LTS release is recommended. +- Java JDK. OpenJDK is recommended. + + Table: DHIS2 JDK compatibility + + | DHIS2 version | JDK recommended | JDK required | + | ------------- | --------------- | ------------ | + | 2.41 | 17 | 17 | + | 2.40 | 17 | 11 | + | 2.38 | 11 | 11 | + | 2.35 | 11 | 8 | + | pre 2.35 | 8 | 8 | + +- PostgreSQL database version 13 or later. A later PostgreSQL 16 is recommended. +- PostGIS database extension version 2.2 or later, 3 is recommended. +- Tomcat servlet container version 8.5.50 or 9, 9 is recommended. +- Cluster setup only (optional): Redis data store version 4 or later. + +So a minimal installation of DHIS2 would consist of just the tomcat server (with DHIS2 war file deployed) and a PostgreSQL database. This type of minimal setup can be suitable for a developer or experimental setup. For a production deployment there are many other factors to take into account regarding maintenance, monitoring, security, scalability and performance. + +## Install approaches { #install_install_approaches } + +--- + +There are many ways to get DHIS2 up and running. How you choose to install will depend on which skills and tools you are familiar with and whether the installation is for production or experimental use. We have a number of different guides which emphasize different styles of implementation. Regardless of the implementation approach you adopt, you will want to familiarize yourself with the additional reference material we provide regarding database management, reverse proxy setup, system monitoring, upgrades etc. + +#### [Automated Install](#getting_started_linux_automated_install) { #install_automated_install_on_linux } + +These tools are ansible based [dhis2-server-tools](https://github.com/dhis2/dhis2-server-tools). This tool set provides a set of ansible playbooks to automate the installation and management of DHIS2 and supporting components. It is geared towards production environments with the aim of addressing the most critical security and monitoring considerations out-of-the-box. + +#### [Manual Install](#installation_on_linux_server) { #manual-installinstallation_on_linux_server } + +This guide provides step-by-step instructions for setting up DHIS2 on Ubuntu 22.04. For production environments, however, we highly recommend using an automated installation to ensure consistency and ease of management. Manual setup is ideal for learning and understanding how different DHIS2 components are setup and how they interconnect. + +### Running DHIS2 on docker { #running-dhis2-on-docker } + +#### Important Considerations for Deploying DHIS2 with Docker { #important-considerations-for-deploying-dhis2-with-docker } + +While Docker containers offer a potential method for running DHIS2 applications, there are important factors to consider before implementing this approach in production environments. + +##### Limited Production Use Cases: { #limited-production-use-cases } + +Currently available Docker images for DHIS2 may not be suitable for production deployments. These images haven't undergone extensive testing in real-world production settings. While they might function adequately for development purposes, their stability and performance under demanding workloads cannot be guaranteed for mission-critical applications. + +##### User Awareness and Testing: { #user-awareness-and-testing } + +The decision to utilize DHIS2 within Docker containers for production environments rests solely with the user. If you choose to proceed with this approach, comprehensive security, performance, and stress testing are absolutely essential. Rigorous testing will help ensure the stability and reliability of your DHIS2 application in a production setting. + +For those interested in exploring DHIS2 with Docker, the following link provides information on running DHIS2 in a Docker container: + +[ Running DHIS2 on Docker ](https://github.com/dhis2/dhis2-core/blob/master/docker/DOCKERHUB.md) + +### Running DHIS2 on Kubernetes { #running-dhis2-on-kubernetes } + +#### Leveraging Kubernetes for DHIS2 Deployment { #leveraging-kubernetes-for-dhis2-deployment } + +Kubernetes, a leading open-source container orchestration platform, offers a compelling approach to automate the deployment, scaling, and management of containerized applications. + +> **NOTE** +> +> Kubernetes would still require dhis2 docker images and thus reservations made above regarding Limited Production Use Cases still holds. + +#### Container Image Selection: { #container-image-selection } + +While Kubernetes is agnostic to the container image format, successful DHIS2 deployment relies on readily available container images. Currently, available Docker images for DHIS2 are primarily intended for development environments. These images may not have undergone rigorous testing for production workloads, potentially impacting stability and performance. + diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index 852880fc..c72f194f 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Installing the BNA App { #installing-the-bna-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index 5457f42d..5b13ef6c 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # BNA App Maintenance { #bna-app-maintenance } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index 2a13dfb8..fd7dedb8 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # BNA Analysis and Interpretation { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index 5b20e594..411526af 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # BNA App architecture { #bna-app-architecture } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index 91c8ce9d..055b7857 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Bottleneck Analysis Dashboard and Demo server { #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index 88987fbf..fe71c7e0 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # BNA App interventions configurations { #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index 66a5c573..b1bb1034 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Visualization operations { #visualization-operations } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index 098a7b47..db10fe15 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Adopting the use of the BNA App { #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index 2c738a2f..22c72183 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Capacity building { #capacity-building } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index b8a0ee6e..2e66e349 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # End User training { #end-user-training } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index 5c658567..b428ae6c 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Guide to BNA App Implementation { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index 691cc554..60d417db 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Integration Concepts for the BNA App. { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index ce4325cd..ea862ee6 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Opportunities and Challenges { #opportunities-and-challenges } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index 37336fed..09125988 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Planning and organising { #planning-and-organising } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index e011cd0e..39a45f0e 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Setting-up a new BNA App { #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index 0f35818b..eb9d45c2 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # BNA App Support and Scale-up { #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index 64d7269a..b15469d7 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Uso +- App version 1.2.2 --- # Scale-up and sustainability { #scale-up-and-sustainability } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index 78a7c8fd..00cf512e 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index 3409b800..5d31b311 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index 82a8c800..4e7cc579 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index 6e980cff..9f00face 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index 24b35d9e..afe7c8a6 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- # About this guide { #about_this_guide_ } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index 2c68204d..bf1053d2 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index c2f8f88f..d9e725aa 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index d76d0d20..889bfdea 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 23694eb4..f2200bf5 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md index 2214ac7e..91c9d53e 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/map-view.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Uso +- App version 1.4.0 --- Map View diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md index 6fac71aa..d60aad59 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/about-this-guide.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # About this guide { #about-this-guide } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md index ceede9b6..b28f8fb9 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-and-translating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Accessing and translating the Scorecard { #accessing-and-translating-the-scorecard } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md index f28cf77d..15e9a309 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-scorecard-app.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Login DHIS2 system { #login-dhis2-system } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md index 70ce843c..50c73089 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/creating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- ## Creating the Scorecard { #creating-the-scorecard } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md index a7e26cce..b44ea7a0 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/introduction-to-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Introduction to the Scorecard App { #introduction-to-the-scorecard-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md index 3ccdd0f8..c9825f55 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/saving-configurations.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- ## Saving configuration and load the scorecard { #saving-configuration-and-load-the-scorecard } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md index 787d7c9b..b587915a 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/scorecard-app-architecture.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Scorecard App architecture { #scorecard-app-architecture } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md index 8fb66768..465f1371 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/support-and-maintanace-options.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Scorecard App Built-in Support and Maintenance Options { #scorecard-app-built-in-support-and-maintenance-options } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md index 52f82ff5..85e98f53 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/viewing-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Uso +- App version 2.5.0 --- # Viewing the Scorecard App Analysis outputs { #viewing-the-scorecard-app-analysis-outputs } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index 7b96979f..0a2ca050 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Uso +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index ce27647a..7822d17c 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Uso +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index 73936e2d..ef1660e0 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - Uso +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index 75ae5beb..e56be051 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Uso +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 32f82757..53ebf689 100644 --- a/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/es_419/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Uso +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 6ced7066..9afc613b 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index d938f9aa..c6dd2e7c 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # DHIS2 Frequently Asked Questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index 26145aa1..6c27daf9 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # DHIS2 Glossary { #dhis2_glossary } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 35b40e90..4a0e6103 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # DHIS2 Tutorials { #dhis2_tutorials } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 24042b40..bc5c3f57 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Notas de lanzamiento y actualización { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 8d11bf0c..b4b741ba 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Managing dashboards { #dashboard } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index b190f60e..dcfc0961 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Data Visualizer app { #data_visualizer } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index fb96571d..61c1ea19 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Event Reports app { #event_reports_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index 1e3b63dd..898b8e36 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Event Visualizer app { #event_visualizer_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index 7ef4fec9..f888da9b 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index 4ac82133..bea198f8 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Maps app { #using_maps } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index 8bac80a8..c09ac2af 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Reporting functionality in the reports app { #using_the_reports_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md index a69bbffd..8dba5e29 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Aprobación de datos { #data_approval_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index 25088a64..2f434076 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index b6607181..08ea3b7a 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Data Entry app { #data_entry_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index 4432b76e..c8f0ffe9 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Control data quality { #control_data_quality } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 8c89a40e..24a1a30e 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # About sharing of objects { #sharing } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index 4ec58617..c66151d7 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configure the Maps app { #gis_creating } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 02ab6b12..223a5a18 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configure metadata { #maintenance_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index 787077f2..2b5044ce 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configure programs in the Maintenance app { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 0d7c07f1..1131794f 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configure report functionality { #setting_up_reporting } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 90041f0c..55b76990 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # System settings { #settings } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index 04153747..89ab2908 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # User authorities { #user_authorities } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index 21267a11..e210cfbf 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Manage users, user roles and user groups { #manage_user_role_group } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index 57a2c162..4f37bf8a 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Import/Export App { #import_export } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index 8766003c..ace97040 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configure metadata synchronizing { #metadata_sync } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index d44e8a07..b35f473e 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index 8e3f499f..ccd51616 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Data Administration { #data_admin } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md index 690df828..9e04adab 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Datastore Manager { #datastore_manager_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md index 07e988f9..e6b7e9b3 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- > **Caution** diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md index 2fba51d0..8180fc57 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md index 2889f3d6..fc81b268 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Scheduling { #scheduling } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index 63824b85..ef297e84 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Visualizar las estadísticas de uso { #using_usage_analytics } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 9a431e90..bd8aa26a 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Capture app { #capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 0e404f4a..4734ae60 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Uso de la aplicación Captura de Eventos { #event_capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index ec1c98e4..7d1996b3 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Using the Tracker Capture app { #tracker_capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 8532af1e..9919b8e5 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # About data dimensions { #data_dimensions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 4dfb083b..35c12ca7 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Additional data dimensions { #additional_data_dimensions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index 42308942..6c1a9224 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Relationship model { #relationship_model } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md index c840a8b9..43a6d6f8 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Messaging { #messages } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index bf7f84c7..7ba4dd6d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Personal access tokens { #personal_access_tokens } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index d7aa72e9..c57f47cf 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.38 - Uso +- DHIS core version 2.38 --- # Establecer las preferencias de la cuenta de usuario { #user_account_preferences } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index aeb8ae2e..4f6906d3 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index f5a8084b..00cf91fd 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # DHIS2 Frequently Asked Questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md index b74a3ee2..90c55477 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # DHIS2 Glossary { #dhis2_glossary } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 36761585..01be7516 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # DHIS2 Tutorials { #dhis2_tutorials } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 9af23432..e2dd3814 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Notas de lanzamiento y actualización { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md index 5a407221..2389668d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Managing dashboards { #dashboard } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md index 960e960f..4257f664 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Data Visualizer app { #data_visualizer } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md index 1dea90d9..dc2476af 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Event Reports app { #event_reports_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md index f17eebed..18930369 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Event Visualizer app { #event_visualizer_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md index 52045bfa..8eec5c72 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md index 1ed03668..8d68c2d8 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-maps-app.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Maps app { #using_maps } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md index 1411bf64..a9205a3d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Reporting functionality in the reports app { #using_the_reports_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md index fec9d245..dbe6f008 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Aprobación de datos { #data_approval_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md index 3c4bbc8d..fa514d24 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md index f86da740..b1de8073 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Data Entry (beta) app { #data-entry-beta-app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md index 4005000d..20cad0db 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Data Entry app { #data_entry_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md index 57a6f43d..6aab85d5 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Control data quality { #control_data_quality } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index fc5d98c7..62e3cd69 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # About sharing of objects { #sharing } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md index 8bb31e4a..1968f9ad 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-the-gis-app.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configure DHIS2 Maps { #gis_creating } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md index 4114548d..e79b8adb 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata.md" revision_date: '2022-10-28' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configure metadata { #maintenance_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md index bf982f0c..e7f510b5 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configure programs in the Maintenance app { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md index 673806fb..b663c1b8 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configure report functionality { #setting_up_reporting } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md index 4fcd2591..c8677c7d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/system-settings.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # System settings { #settings } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md index caea9115..bc04f413 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # User authorities { #user_authorities } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index 8c776795..f2c82fac 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Manage users, user roles and user groups { #manage_user_role_group } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md index 8ac707a6..571a3855 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-exchange.md" revision_date: '2023-02-16' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Data Exchange app { #data_exchange } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md index 3c406e05..65ca3a14 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Import/Export App { #import_export } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md index 8d9f6389..43165637 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configure metadata synchronizing { #metadata_sync } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md index 6299d891..35020376 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md index 76c01f9c..d88396be 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Data Administration { #data_admin } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md index c4a5443b..97e9d409 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Datastore Manager { #datastore_manager_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md index 75490e93..646fee37 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- > **Caution** diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md index a5559f92..a565480d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md index 8f9f2466..9ba920ca 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Scheduling { #scheduling } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index 82fdbc36..aed63604 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Visualizar las estadísticas de uso { #using_usage_analytics } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 3be29399..239a7486 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Capture app { #capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index bd2c1e19..7580ba2e 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Uso de la aplicación Captura de Eventos { #event_capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 61300be8..f33ae351 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Using the Tracker Capture app { #tracker_capture_app } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 65994686..372814e1 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # About data dimensions { #data_dimensions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 6018a0dd..d8a341a1 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Additional data dimensions { #additional_data_dimensions } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index cfda2052..cbc6778d 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Relationship model { #relationship_model } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 336cde3a..6443a3e9 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Messaging { #messages } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index f492b2b4..10ad1063 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Personal access tokens { #personal_access_tokens } diff --git a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index 341b00c6..95cec546 100644 --- a/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/es_419/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.39 - Uso +- DHIS core version 2.39 --- # Establecer las preferencias de la cuenta de usuario { #user_account_preferences } diff --git a/projects/docs-full-site/fr/.cache_timestamp b/projects/docs-full-site/fr/.cache_timestamp index d49ec659..95e3a22d 100644 --- a/projects/docs-full-site/fr/.cache_timestamp +++ b/projects/docs-full-site/fr/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:20:58Z \ No newline at end of file +2024-11-05T21:23:23Z \ No newline at end of file diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md index 027bc075..e179a32f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/analytics.md" revision_date: '2023-12-13' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Analyse { #analytics } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md index 492e64a8..ae6414bf 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Applications { #apps } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md index d3ccdb03..1494a0cb 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/audit.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Audit { #audit } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md index 6b000170..2b82a1fb 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Approbation des données { #data-approval } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md index c43af6b3..fd56e135 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-store.md" revision_date: '2022-03-24' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Magasin de données { #data-store } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md index d0d3839d..90ca6936 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-validation.md" revision_date: '2022-02-23' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Validation des données { #data-validation } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md index c1f9e827..7af774e4 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Adresses électronique { #email } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md index c2870dd7..35e18982 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/i18n.md" revision_date: '2022-04-27' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # I18n { #i18n } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md index 4d7f1021..2a282219 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/overview.md" revision_date: '2022-02-28' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Aperçu { #webapi } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md index 1d9dff7d..0a4fe6ba 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/maintenance.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Maintenance { #maintenance } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md index a547e8a6..d88dce40 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Messagerie { #messaging } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md index 1c425454..23e57827 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata-gist.md" revision_date: '2021-11-23' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Métadonnées Gist API { #gist_api } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md index 54e2ef2c..79a2c7f4 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata.md" revision_date: '2023-08-03' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Métadonnées { #metadata } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md index 7da6612d..88cff37d 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/new-tracker.md" revision_date: '2024-05-21' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # New Tracker { #new-tracker } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md index 97b5d52b..a43a3f6f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Profil d'unité d'organisation { #org_unit_profile } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md index 2e7d07f4..9f95600e 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/scheduling.md" revision_date: '2022-05-05' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Programmation { #webapi_scheduling } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md index f6b02ebe..e457b859 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/settings-and-configuration.md" revision_date: '2023-12-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Paramètres et configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md index 104e8569..8606cdee 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Partage { #sharing } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md index 9dccb59c..ff8a974d 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # SMS { #sms } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md index e366b779..21eda502 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/synchronization.md" revision_date: '2022-05-05' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Synchronization { #webapi_synchronization } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md index 89e67081..907e2c8c 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/tracker.md" revision_date: '2024-01-05' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Tracker { #tracker } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md index af54f804..9ae040d8 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/users.md" revision_date: '2021-11-04' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Utilisateurs { #users } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md index 2d6083e2..c10471a0 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/visualizations.md" revision_date: '2022-03-24' tags: -- Version principale de DHIS 2.38 - Développement +- Version principale de DHIS 2.38 --- # Visualisations { #visualizations } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md index a7e1f69d..fa19eb0e 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/developer/web-api/metadata.md" revision_date: '2024-04-26' tags: -- DHIS Version 2.40 - Développement +- DHIS Version 2.40 --- # Métadonnées { #metadata } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md index ab4087e4..b792458f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-exchange.md" revision_date: '2024-06-26' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Échange de données { #data-exchange } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md index 407a4040..2d54fbdc 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md index 25eaa114..4fc8c7eb 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Aperçu { #webapi } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md index 27ac6e6b..2f08705b 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Métadonnées Gist API { #gist_api } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md index 28f24dde..d52516ac 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata.md" revision_date: '2024-05-21' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Métadonnées { #metadata } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md index e6bf1de8..8b98331f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md index e2daf446..e56a0f27 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/route.md" revision_date: '2024-09-24' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Route { #route } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md index ab7765ec..4b466425 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Programmation { #webapi_scheduling } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md index 24f7347c..db4cd11d 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Développement - DHIS Version 2.41 +- Développement --- # SMS { #sms } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md index ef0342c7..cb9a3034 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Synchronization { #webapi_synchronization } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md index 5d7278a7..79363a3e 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker-old.md" revision_date: '2024-05-23' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Tracker (API obsolètes) { #tracker-deprecated-apis } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md index 5db23642..3b6813cd 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker.md" revision_date: '2024-07-02' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Tracker { #tracker } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md index 4f8267ee..3a2f973d 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Développement - DHIS Version 2.41 +- Développement --- # Utilisateurs { #users } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index 9dd7bed8..fd622633 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,9 +1,9 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Analyse { #analytics } @@ -237,16 +237,19 @@ Quelques éléments à prendre en compte lors de l'utilisation de la ressource a "Format de date et de période" plus haut, pour mieux comprendre le format des périodes et les périodes relatives disponibles. - - Pour la dimension d'unité d'organisation, vous pouvez spécifier des éléments qui seront - l'unité d'organisation ou les sous-unités de l'unité d'organisation - associée à l'utilisateur actuellement authentifié pour la requête. - Vous pouvez le faire en utilisant respectivement les clés `USER_ORGUNIT` ou `USER_ORGUNIT_CHILDREN` comme éléments. - Vous pouvez également spécifier des identifiants d'unité d'organisation - ou une combinaison des deux possibilités. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - Pour la dimension d'unité d'organisation, vous pouvez spécifier le niveau hiérarchique et l'unité d'organisation limite à utiliser pour la requête en utilisant le - format `LEVEL--` ; par exemple + format `LEVEL--`. Par exemple, `LEVEL-3-ImspTQPwCqd` prend en compte toutes les unités d'organisation inférieures à l'unité d'organisation limite au niveau 3 de la hiérarchie. @@ -269,14 +272,14 @@ Tableau : Types de dimensions de données dx | Type | Syntaxe | Description | Source des données | |---|---|---|---| -| Indicateur | | Identifiant de l'indicateur. | Données agrégées | +| Indicateur | | Identifiant d'indicateur. | Données agrégées | | Groupe indicateur | IN_GROUP- | Mot clé suivi d'un identifiant de groupe d'indicateurs. Inclura tous les indicateurs du groupe dans la réponse. | Données agrégées | | Élément de données | | Identifiant de l'élément de données. | Données agrégées | | Groupe d'éléments de données | DE_GROUP- | Mot clé suivi d'un identifiant de groupe d'éléments de données. Inclura tous les éléments de données du groupe dans la réponse. | Données agrégées | -| Opérande de l'élément de données | .. | Identifiant de l'élément de données suivi d'une combinaison d'options de catégorie et d'un identifiant de combinaison d'options d'attributs, ou des deux. Le symbole joker « \* » peut être utilisé pour indiquer n'importe quelle valeur de combinaison d'options. L'identifiant de la combinaison d'options d'attributs peut être ignoré complètement. | Données agrégées | +| Opérande de l'élément de données | .. | Identifiant de l'élément de données suivi d'une combinaison d'options de catégorie et d'un identifiant de combinaison d'options d'attributs, ou des deux. Le caractère générique « \* » peut être utilisé pour indiquer n'importe quelle valeur de combinaison d'options. L'identifiant de la combinaison d'options d'attributs peut être ignoré complètement. | Données agrégées | | Ensemble de données | . | Identifiant de l’ensemble de données suivi de la mesure du taux de déclaration. Peut être REPORTING_RATE | REPORTING_RATE_ON_TIME | ACTUAL_REPORTS | ACTUAL_REPORTS_ON_TIME | EXPECTED_REPORTS. | Enregistrements de la complétude des ensembles de données | | Élément de données de programme | . | Identifiant du programme suivi de l'identifiant de l'élément de données. Lit les événements du programme spécifié. | Événements du programme en question | -| Indicateur de programme | | Identifiant de l’indicateur du programme. Lit les événements du programme associés à l'identifiant du programme. | Événements du programme de l'indicateur de programme | +| Indicateur de programme | | Identifiant de l’indicateur du programme. Lit les événements du programme associés à l'identifiant du programme. | Événements du programme de l'indicateur | | Résultat de validation | | Identifiant de la règle de validation. Inclura les violations à la règle de validation et requiert que les résultats de la validation soient générés et conservés. | Résultats de validation | Les éléments de tous les différents types `dx` peuvent être combinés dans une requête d'analyse. Voici un exemple : @@ -434,7 +437,7 @@ Les champs `httpStatus` et `httpStatusCode` indiquent le statut HTTP et le code | E7114 | Les catégories attribuées ne peuvent être spécifiées qu'avec des éléments de données, et non avec des indicateurs ou des taux de déclaration. | | E7115 | Les éléments de données doivent être d'un type de valeur et d'agrégation qui permette l'agrégation | | E7116 | Les expressions d'indicateur ne peuvent pas contenir de références cycliques | -| E7117 | Une dimension de données 'dx' doit être spécifiée lorsque le format de sortie est DATA_VALUE_SET (ensemble de v. | +| E7117 | Une dimension de données 'dx' doit être spécifiée lorsque le format de sortie est DATA_VALUE_SET (ensemble de valeurs de données). | | E7118 | Une dimension de période 'pe' doit être spécifiée lorsque le format de sortie est DATA_VALUE_SET. | | E7119 | Une dimension d'unité d'organisation 'ou' doit être spécifiée lorsque le format de sortie est DATA_VALUE_SET. | | E7120 | L'utilisateur n'est pas autorisé à visualiser l'unité d'organisation | @@ -443,14 +446,14 @@ Les champs `httpStatus` et `httpStatusCode` indiquent le statut HTTP et le code | E7123 | L'utilisateur actuel est limité par une dimension mais n'a accès à aucun élément de dimension | | E7124 | La dimension est présente dans la requête sans aucune option de dimension valide | | E7125 | L'identifiant de dimension ne fait référence à aucune dimension | -| E7126 | La colonne doit être présente en tant que dimension dans la requête | +| E7126 | La colonne doit être présente dans la requête en tant que dimension | | E7127 | La ligne doit être présente dans la requête en tant que dimension | | E7128 | Les résultats de la requête ont dépassé la limite maximale | | E7129 | Le programme est spécifié mais n'existe pas | | E7130 | L'étape de programme est spécifiée mais n'existe pas | | E7131 | La requête a échoué, probablement parce que la requête a expiré | -### Format de l'ensemble de valeurs de données { #webapi_analytics_data_value_set_format } +### Format d'ensemble de valeurs de données { #webapi_analytics_data_value_set_format } La ressource analytique *dataValueSet* permet de renvoyer des données agrégées dans le format "ensemble de valeurs de données". Ce format représente des valeurs de données brutes, par opposition aux données qui ont été agrégées en fonction des différentes dimensions. L'exportation de données agrégées sous la forme de valeurs de données régulières permet d'échanger des données entre systèmes lorsque le système cible contient des données d'une granularité plus fine que celles stockées par le système de destination. @@ -512,9 +515,9 @@ Tableau : Paramètres de requête | Paramètre de requête | Obligatoire / Remarques | |---|---| | dimension | Oui | -| date de début | No / aaaa-MM-jj | -| date de fin | No / aaaa-MM-jj | -| skipMeta (ignorer les métadonnées) | Non | +| startDate | No / aaaa-MM-jj | +| endDate | No / aaaa-MM-jj | +| skipMeta | Non | | skipData (ignorer les données) | Non | | hierarchyMeta (métadonnées de la hiérarchie) | Non | | showHierarchy (afficher la hiérarchie) | Non | @@ -525,7 +528,7 @@ Tableau : Paramètres de requête | inputIdScheme | Non | | userOrgUnit (unité d'organisation d'utilisateur) | Non | -Le paramètre de requête *dimension* définit les dimensions (colonnes du tableau) à inclure dans la réponse. Il peut éventuellement être limité par des éléments. Le paramètre de requête *filter* (filtre) définit les éléments et les dimensions (colonnes du tableau) qui doivent être utilisés comme filtre pour la réponse. +Le paramètre de requête *dimension* définit les dimensions (colonnes du tableau) à inclure dans la réponse. Il peut éventuellement être limité par des éléments. Le paramètre de requête *filter* (filtre) définit les éléments et les dimensions (colonnes du tableau) qui doivent être utilisés pour filtrer la réponse. Pour la dimension "unité d'organisation", la réponse contiendra les données associées à l'unité d'organisation et à toutes les unités d'organisation qui lui sont inférieures dans la hiérarchie (c'est-à-dire ses subordonnées). Ceci est différent de la ressource analytique ordinaire, où seules les unités d'organisation explicitement sélectionnées sont incluses dans la réponse. @@ -579,15 +582,15 @@ Les dimensions d'événements comprennent les éléments de données, les attrib -Tableau : Dimensions de l'événement +Tableau : Dimensions d'événement | Dimension | Identifiant de la dimension | Description | |---|---|---| -| Éléments de données | | Identifiants de l'élément de données. | +| Éléments de données | | Identifiants d'élément de données | | Attributs | | Identifiants d'attribut | | Périodes | pe | Périodes ISO et périodes relatives, voir "format de date et de période" | | Unités d’organisation | ou | Identifiants d'unité d'organisation et mots-clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP- | -| Ensembles de groupes d'unités d'organisation | | Identifiants d'ensemble de groupes d'unités d'organisation | +| les ensembles de groupes d'unités d'organisation. | | Identifiants d'ensemble de groupes d'unités d'organisation | | Catégories | | Identifiants de catégorie (catégories d'attributs de programme uniquement) | ### Paramètres de requête{ #webapi_event_analytics_request_query_parameters } @@ -596,23 +599,23 @@ L'API d'événement analytique vous permet de définir un ensemble de paramètre -Tableau : Paramètres de requête pour la requête d'événement et l'analyse agrégée +Tableau : Paramètres de requête pour la requête d'événement et l'analyse d'agrégation | Paramètre de requête | Obligatoire | Description | Options (par défaut en premier) | |---|---|---|---| -| de paludisme) ». | Oui | Identifiant du programme. | Tout identifiant de programme | +| program | Oui | Identifiant du programme. | Tout identifiant de programme | | étape | Non | Identifiant de l'étape de programme. | Tout identifiant d'étape de programme | -| date de début | Oui | Date de début des événements. | Les dates doivent être au format aaaa-MM-jj | -| date de fin | Oui | Date de fin des événements. | Les dates doivent être au format aaaa-MM-jj | +| startDate | Oui | Date de début des événements. | Les dates doivent être au format aaaa-MM-jj | +| endDate | Oui | Date de fin des événements. | Les dates doivent être au format aaaa-MM-jj | | dimension | Oui | L'identifiant de dimension comprend les éléments de données, les attributs, les indicateurs de programme, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. | Les opérateurs peuvent être EQ | GT| GE| LT| LE| NE | COMME | DANS | -| filtre | Non | L'identifiant de dimension comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. || -| hierarchyMeta (métadonnées de la hiérarchie) | Non | Inclut les noms des unités d'organisation racines et le parcours hiérarchique des unités d'organisation dans les métadonnées. | faux | vrai | -| eventStatus (statut d'événement) | Non | Spécifie le statut des événements à inclure. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | -| programStatus (statut de programme) | Non | Spécifie le statut d’inscription des événements à inclure. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | +| filter | Non | L'identifiant de dimension comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. || +| hierarchyMeta (métadonnées de la hiérarchie) | Non | Inclut les noms des unités d'organisation racines et le parcours hiérarchique des unités d'organisation dans les métadonnées. | false | true | +| eventStatus | Non | Spécifie le statut des événements à inclure. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | +| programStatus | Non | Spécifie le statut d’inscription des événements à inclure. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | | relativePeriodDate (Date de la période relative) | chaîne | Non | Identifiant de date, par exemple : "2016-01-01". Il remplace la date de début de la période relative | -| colonnes | Non | Dimensions à utiliser comme colonnes pour la présentation du tableau. | N'importe quelle dimension (doit être une dimension de requête) | -| lignes | Non | Dimensions à utiliser comme lignes pour la présentation du tableau. | N'importe quelle dimension (doit être une dimension de requête) | -| timeField (champ du temps) | Non | Il s'agit du champ de temps utilisé dans le cadre des agrégations/requêtes sur les événements. Il s'applique uniquement aux éléments de données d'événements. Il peut s'agir d'une option prédéfinie ou de l'identifiant d'un attribut ou d'un élément de données dont le type de valeur est temporel. Pour les points d'extrémité "/analytics/events/", le champ de temps par défaut est EVENT_DATE. | EVENT_DATE | SCHEDULED_DATE | | | +| colonnes | Non | Dimensions à utiliser comme colonnes dans la présentation du tableau. | N'importe quelle dimension (doit être une dimension de requête) | +| lignes | Non | Dimensions à utiliser comme lignes dans la présentation du tableau. | N'importe quelle dimension (doit être une dimension de requête) | +| timeField (champ de temps) | Non | Il s'agit du champ de temps utilisé dans le cadre des agrégations/requêtes sur les événements. Il s'applique uniquement aux éléments de données d'événements. Il peut s'agir d'une option prédéfinie ou de l'identifiant d'un attribut ou d'un élément de données dont le type de valeur est temporel. Pour les points d'extrémité "/analytics/events/", le champ de temps par défaut est EVENT_DATE. | EVENT_DATE | SCHEDULED_DATE | | | @@ -620,18 +623,18 @@ Tableau : Paramètres de requête pour l'analyse des requêtes d'événement un | Paramètre de requête | Obligatoire | Description | Options | |---|---|---|---| -| ou Mode | Non | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED | -| asc | Non | Permet de trier les dimensions par ordre croissant; peut concerner la date de l'événement, le nom et le code de l'unité d'organisation et tout identifiant d'élément. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | -| desc | Non | Permet de trier les dimensions par ordre décroissant ; peut concerner la date de l'événement, le nom et le code de l'unité d'organisation et tout identifiant d'élément. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | -| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des coordonnées. | faux | vrai | -| coordinateOuFallback (Coordonner le repli de l'uo) | Non | La géométrie de l'instance de programme est appliquée chaque fois que la géométrie de l'unité d'organisation est manquante. | faux | vrai | -| dataIdScheme (schéma d'identification des données) | Non | Schéma d'identification à utiliser pour les données, plus spécifiquement pour les éléments de données et les attributs qui disposent d'un ensemble d'options ou de légendes. Ceci permet par exemple de renvoyer le nom de l'option au lieu du code, ou le nom de la légende au lieu de son ID, dans la réponse de données. | NAME | CODE | UID | +| ouMode | Non | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, SUBORDONNÉES, SÉLECTIONNÉES | +| asc | Non | Permet de trier les dimensions dans l'ordre croissant; peut concerner la date de l'événement, le nom et le code de l'unité d'organisation et tout identifiant d'élément. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| desc | Non | Permet de trier les dimensions dans l'ordre décroissant ; peut concerner la date de l'événement, le nom et le code de l'unité d'organisation et tout identifiant d'élément. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des coordonnées. | false | true | +| coordinateOuFallback (Coordonner le repli de l'uo) | Non | La géométrie de l'instance de programme est appliquée chaque fois que la géométrie de l'unité d'organisation est manquante. | false | true | +| dataIdScheme (schéma d'identification des données) | Non | Schéma d'identification à utiliser pour les données, plus spécifiquement pour les éléments de données et les attributs qui disposent d'un ensemble d'options ou de légendes. Ceci permet par exemple de renvoyer le nom de l'option au lieu du code, ou le nom de la légende au lieu de son ID, dans la réponse. | NAME | CODE | UID | | en-têtes | Non | Le nom des en-têtes à renvoyer dans la réponse. | Un ou plusieurs noms d'en-têtes séparés par une virgule | | page | Non | Le numéro de page. La page par défaut est 1. | Valeur numérique positive | -| taille de la page | Non | La taille de la page. La taille par défaut est de 50 éléments par page. | Zéro ou valeur positive | -| eventDate (date de l'événement) | no | (ressource `événements` uniquement) Période personnalisée sur `eventDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | +| pageSize | Non | La taille de la page. La taille par défaut est de 50 éléments par page. | Zéro ou valeur positive | +| eventDate | no | (ressource `événements` uniquement) Période personnalisée sur `eventDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | | enrollmentDate (date d'inscription) | no | Période personnalisée sur `enrollmentDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | -| scheduledDate (date programmée) | no | (ressource `événements` uniquement) Période personnalisée sur `scheduledDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | +| scheduledDate (date de programmation) | no | (ressource `événements` uniquement) Période personnalisée sur `scheduledDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | | incidentDate (date d'incident) | no | Période personnalisée sur `incidentDate` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | | lastUpdated (dernière mise à jour) | no | Période personnalisée sur `lastUpdated` (voir la section "Périodes de date personnalisées") | voir la section "format de date et de période" | @@ -641,19 +644,19 @@ Tableau : Paramètres de requête pour l'analyse agrégée des événements uni | Paramètre de requête | Obligatoire | Description | Options | |---|---|---|---| -| valeur | Non | Il s'agit de l'identifiant de la dimension de la valeur ; peut être un élément de données ou un attribut qui doit être de type numérique. | Identifiant d’élément de données ou d’attribut | +| value | Non | Il s'agit de l'identifiant de la dimension de valeur ; peut être un élément de données ou un attribut qui doit être de type numérique. | Identifiant d’élément de données ou d’attribut | | Type d'agrégation | Non | Type d'agrégation pour la dimension de valeur. Par défaut, il est définit sur AVERAGE (moyenne). | SUM | AVERAGE | AVERAGE_SUM_ORG_UNIT | LAST | LAST_AVERAGE_ORG_UNIT | COUNT | STDDEV | VARIANCE | MIN | MAX | -| showHierarchy (afficher la hiérarchie) | Non | Affiche le parcours hiérarchique complet de l'unité d'organisation ainsi que le nom de l'unité d'organisation. | faux | vrai | +| showHierarchy (afficher la hiérarchie) | Non | Affiche le parcours hiérarchique complet de l'unité d'organisation ainsi que le nom de l'unité d'organisation. | false | true | | displayProperty (afficher la propriété) | Non | Affiche la propriété des métadonnées. | NAME | SHORTNAME | -| sortOrder (ordre de tri) | Non | Trie les enregistrements de la colonne de valeurs par ordre croissant ou décroissant. | ASC | DESC | +| sortOrder | Non | Trie les enregistrements de la colonne de valeurs par ordre croissant ou décroissant. | ASC | DESC | | limite | Non | Le nombre maximum d'enregistrements à renvoyer. Ne peut pas dépasser 10 000. | Valeur numérique positive | | outputType (type de sortie) | Non | Spécifie le type de sortie pour les données d'analyse. Il peut s'agir d'événements, d'inscriptions ou d'instances d'entité suivie. Les deux dernières options s'appliquent aux programmes avec inscription uniquement. | EVENT | ENROLLMENT | TRACKED_ENTITY_INSTANCE | -| collapseDataDimensions (Dimensions des données regroupées) | Non | Réduit toutes les dimensions de données (éléments de données et attributs) en une seule dimension dans la réponse. | faux | vrai | -| skipMeta (ignorer les métadonnées) | Non | Exclut la partie métadonnées de la réponse (améliore les performances). | faux | vrai | -| skipData (ignorer les données) | Non | Excluez la partie données de la réponse. | faux | vrai | -| skipRounding (ignorer l'arrondissement des valeurs) | Non | Évite d'arrondir les valeurs de données agrégées. | faux | vrai | -| aggregateData (données agrégées) | Non | Produit des valeurs agrégées pour les dimensions de données (par opposition aux éléments de dimension). | faux | vrai | -| orgUnitField (champ d'unité d'organisation) | Non | Le champ d’unité d’organisation sur lequel baser l’agrégation des événements. ceci s'applique uniquement aux éléments de données d'événements. Il peut s'agir de l’ID d’un attribut ou d’un élément de données avec le type de valeur "Unité d’organisation". L'option par défaut consiste à omettre le paramètre de requête. | | | REGISTRATION | ENROLLMENT | OWNER_AT_START | OWNER_AT_END | +| collapseDataDimensions (Dimensions des données regroupées) | Non | Réduit toutes les dimensions de données (éléments de données et attributs) en une seule dimension dans la réponse. | false | true | +| skipMeta | Non | Exclut la partie métadonnées de la réponse (améliore les performances). | false | true | +| skipData (ignorer les données) | Non | Excluez la partie données de la réponse. | false | true | +| skipRounding (ignorer l'arrondissement des valeurs) | Non | Évite d'arrondir les valeurs de données agrégées. | false | true | +| aggregateData (données agrégées) | Non | Produit des valeurs agrégées pour les dimensions de données (par opposition aux éléments de dimension). | false | true | +| orgUnitField | Non | Le champ d’unité d’organisation sur lequel baser l’agrégation des événements. ceci s'applique uniquement aux éléments de données d'événements. Il peut s'agir de l’ID d’un attribut ou d’un élément de données avec le type de valeur "Unité d’organisation". L'option par défaut consiste à omettre le paramètre de requête. | | | REGISTRATION | ENROLLMENT | OWNER_AT_START | OWNER_AT_END | @@ -665,11 +668,11 @@ Tableau : Paramètres de requête pour les analyses d'événements en grappes u | clusterSize (taille des grappes) | Oui | Taille des grappes en mètres. | Valeur numérique positive | | coordinateField (champs de coordonnées) | Non | Champ à partir duquel les analyses d'événements géospatiaux sont effectuées. La valeur par défaut est " événement ". Il peut être défini comme identifiant d'attributs et d'éléments de données de type coordonnées. | EVENT | | | | bbox | Oui | Zone de délimitation des événements à inclure dans la réponse au format "longitude minimale, latitude minimale, longitude maximale, latitude maximale". | Chaîne | -| includeClusterPoints (Inclure les points d'assemblage) | Non | Inclut des informations sur les points sous-jacents pour chaque grappe. Faites attention si la grappe représente un très grand nombre de points. | faux | vrai | +| includeClusterPoints (Inclure les points d'assemblage) | Non | Inclut des informations sur les points sous-jacents pour chaque grappe. Faites attention si la grappe représente un très grand nombre de points. | false | true | ### Analyse des requêtes d'événements { #webapi_event_query_analytics } -La ressource *analytics/events/query* vous permet d'effectuer des requêtes sur des événements capturés. Cette ressource ne fait pas d'agrégation, elle vous permet plutôt de lancer des requêtes et de filtrer des informations sur les événements. +La ressource *analytics/events/query* vous permet d'effectuer des requêtes sur des événements capturés. Cette ressource n'effectue pas d'agrégation ; elle vous permet plutôt de lancer des requêtes et de filtrer les informations sur les événements. /api/analytics/events/query @@ -724,12 +727,12 @@ Tableau : Opérateurs de filtre | Opérateur | Description | |---|---| -| EQ | Egale à | +| EQ | Egal à | | !EQ | Pas égal à | | IEQ | Égal à, en ignorant la casse | | !IEQ | Différent de, ignorant la casse | -| GT | Supérieure à | -| GE | Supérieure ou égal à | +| GT | Supérieur à | +| GE | Supérieur ou égal à | | LT | Inférieur à | | LE | inférieur ou égal à | | NE | Pas égal à | @@ -748,17 +751,17 @@ Par défaut, les points d'extrémité `query` (requête) filtrent les périodes #### Conditions améliorées { #enhanced-conditions } -Par défaut, `enhancedConditions` (conditions améliorées) est défini sur `false`. Cela signifie que toutes les conditions exprimées dans `dimension` et `filter` sont considérées comme des conditions `AND`. +Par défaut, `enhancedConditions` (conditions améliorées) est défini sur `false`. Cela signifie que toutes les conditions exprimées dans `dimension` et `filtre` sont considérées comme des conditions `AND` (et). Par exemple : dimension=a:GT:20:LT:40&dimension=b:GT:1:LT:5 se traduit par la condition logique suivante : - a>20 et a<40 and b>1 et b<5 + a>20 and a<40 and b>1 and b<5 Cependant, dans certains cas, il peut être nécessaire d'avoir plus de contrôle sur les conditions. Vous pouvez activer ce contrôle en définissant le paramètre de requête `enhancedConditions` sur `true`. -En procédant ainsi, un client peut utiliser un séparateur spécial `_OR_` pour joindre des conditions en utilisant l'opérateur logique `OR`. +En procédant ainsi, un client peut utiliser un séparateur spécial `_OR_` pour joindre des conditions en utilisant l'opérateur logique `OR` (ou). Exemple: @@ -766,11 +769,11 @@ Exemple: se traduit par la condition logique suivante : - ((a>20 et a<40) or (b>1 et b<5)) et c = "test" + ((a>20 and a<40) or (b>1 and b<5)) and c = "test" #### Formats de réponse { #response-formats } -Le format de représentation de la réponse par défaut est JSON. Les requêtes doivent utiliser la méthode HTTP *GET*. Les formats de réponse suivants sont pris en charge. +Le format de représentation de réponse par défaut est JSON. Les requêtes doivent utiliser la méthode HTTP *GET*. Les formats de réponse suivants sont pris en charge. - json (application/json) @@ -778,7 +781,7 @@ Le format de représentation de la réponse par défaut est JSON. Les requêtes - xls (application/vnd.ms-excel) -À titre d'exemple, pour obtenir une réponse au format Excel vous pouvez utiliser une extension de fichier dans l'URL de la requête comme ceci : +À titre d'exemple, pour obtenir une réponse au format Excel, vous pouvez utiliser une extension de fichier dans l'URL de la requête comme ceci : /api/analytics/events/query/eBAyeGv0exc.xls?startDate=2016-01-01&endDate=2016-10-31 &dimension=ou:O6uvpzGd5pu&dimension=oZg33kd9taw&dimension=qrur9Dvnyt5 @@ -961,20 +964,20 @@ Le format JSON de réponse par défaut ressemblera à ceci : } ``` -La section *en-têtes* de la réponse décrit le contenu du résultat de la requête. L'identifiant unique de l'événement, l'identifiant de l'étape de programme, la date de l'événement, le nom de l'unité d'organisation, le code de l'unité d'organisation et l'identifiant de l'unité d'organisation apparaissent en tant que six premières dimensions dans la réponse et seront toujours présents. Viennent ensuite les éléments de données, les attributs et identifiants de personnes qui ont été définis comme dimensions dans la demande ; il s'agit dans ce cas précis des dimensions d'éléments de données "Sexe" et "Âge". L'identifiant de l'élément de dimension se trouve dans la propriété "nom" et une description lisible de la dimension dans la propriété "colonne" de la section en-têtes. +La section *en-têtes* de la réponse décrit le contenu du résultat de la requête. L'identifiant unique de l'événement, l'identifiant de l'étape de programme, la date de l'événement, le nom de l'unité d'organisation, le code de l'unité d'organisation et l'identifiant de l'unité d'organisation apparaissent en tant que six premières dimensions dans la réponse et seront toujours présents. Viennent ensuite les éléments de données, les attributs et identifiants de personnes qui ont été définis comme dimensions dans la demande ; il s'agit dans ce cas précis des dimensions d'éléments de données "Sexe" et "Âge". L'identifiant de l'élément de dimension se trouve dans la propriété "nom" et une description lisible de la dimension dans la propriété "colonne" de la section d'en-têtes. La section *metaData*, objet *ou* (unité d'organisation), contient les identifiants de toutes les unités d'organisation présentes dans la réponse, mis en correspondance avec une chaîne qui représente la hiérarchie. Cette chaîne hiérarchique énumère les identifiants des ascendants de l'unité d'organisation en commençant par la racine. L'objet *noms* contient les identifiants de tous les éléments de la réponse mis en correspondance avec leurs noms. La section *lignes* contient les événements produits par la requête. Chaque ligne représente exactement un événement. -Pour que la ressource analytique des événements génère les données dans un tableau tout fait, vous pouvez renseigner les paramètres *lignes* et *colonnes* avec les identifiants des dimensions requises. Ces identifiants doivent être séparés par des points-virgules ; elles serviront de valeurs pour indiquer quelles dimensions doivent être utilisées comme colonnes ou lignes du tableau. Au lieu de générer une source de données simples et normalisées, la ressource analytique d'événements va maintenant générer les données dans un tableau. Dans la requête, les dimensions des colonnes et des lignes doivent figurer en tant que dimensions de données (et non en tant que filtre). Une telle requête peut ressembler à ceci : +Pour que la ressource analytique des événements génère les données dans un tableau tout fait, vous pouvez renseigner les paramètres *lignes* et *colonnes* avec les identifiants des dimensions requises. Ces identifiants doivent être séparés par des points-virgules ; elles serviront de valeurs pour indiquer quelles dimensions doivent être utilisées comme colonnes ou lignes du tableau. Au lieu de générer une source de données simples et normalisées, la ressource analytique d'événements va maintenant générer les données dans un tableau. Dans la requête, les dimensions de colonnes et de lignes doivent figurer en tant que dimensions de données (et non en tant que filtre). Une telle requête peut ressembler à ceci : /api/analytics.html+css?dimension=dx:cYeuwXTCPkU;fbfJHSPpUQD&dimension=pe:WEEKS_THIS_YEAR &filter=ou:ImspTQPwCqd&displayProperty=SHORTNAME&columns=dx&rows=pe ### Analyse agrégée des événements { #webapi_event_aggregate_analytics } -La ressource `/analytics/events/aggregate` vous permet d'extraire des *nombres agrégés* d'événements capturés dans DHIS2. Cette ressource vous permet d'extraire des données agrégées liés à un programme spécifique ou éventuellement à une étape de programme. Elle vous permet également d'effectuer des filtrages en fonction d'une dimension d'événement quelconque. +La ressource `/analytics/events/aggregate` vous permet d'extraire des *nombres agrégés* d'événements capturés dans DHIS2. Cette ressource vous permet d'extraire des données agrégées liés à un programme spécifique ou éventuellement à une étape de programme. Elle vous permet également d'effectuer des filtrages en fonction de toute dimension d'événement. /api/analytics/events/aggregate @@ -998,7 +1001,7 @@ Afin de spécifier "Femme" comme filtre pour le "Sexe" dans la réponse, ce qui /api/analytics/events/aggregate/eBAyeGv0exc?dimension=pe:2016; &dimension=ou:O6uvpzGd5pu&filter=oZg33kd9taw:EQ:Female -Pour spécifier l'unité d'organisation "Bo" et la période "2016" comme filtres, et le "Mode de sortie" et le "Sexe" comme dimensions, où le "Sexe" est filtré en fonction de l'élément "Masculin", vous pouvez utiliser une requête comme celle-ci : +Pour spécifier l'unité d'organisation "Bo" et la période "2016" comme filtres, et le "Mode de sortie" et le "Sexe" comme dimensions, où le "Sexe" est filtré en fonction de l'élément "Masculin", vous pouvez utiliser la requête suivante : /api/analytics/events/aggregate/eBAyeGv0exc?filter=pe:2016&filter=ou:O6uvpzGd5pu &dimension=fWIAEtYVEGk&dimension=oZg33kd9taw:EQ:Male @@ -1028,16 +1031,16 @@ Pour que l'agrégation des analyses d'événements se fasse en fonction d'un él Voici quelques valeurs possibles pour le paramètre `orgUnitField` : -| orgUnitField (champ d'unité d'organisation) | Description | +| orgUnitField | Description | | --- | --- | | | ID d'un attribut de type de valeur 'unité d'organisation' | | | ID d'un élément de données de type de valeur 'unité d'organisation' | | ENREGISTREMENT | L'unité d'organisation dans laquelle l'instance d'entité suivie a été enregistrée (créée) | -| INSCRIPTION | L'unité d'organisation dans laquelle l'instance d'entité suivie a été inscrite au programme | -| OWNER_AT_START | L'unité d'organisation propriétaire de l'instance d'entité suivie au début de la période de déclaration. | -| OWNER_AT_END | L'unité d'organisation propriétaire de l'instance d'entité suivie à la fin de la période de déclaration. | +| ENROLLMENT | L'unité d'organisation dans laquelle l'instance d'entité suivie a été inscrite au programme | +| OWNER_AT_START (propriétaire au début) | L'unité d'organisation propriétaire de l'instance d'entité suivie au début de la période de déclaration. | +| OWNER_AT_END (propriétaire à la fin) | L'unité d'organisation propriétaire de l'instance d'entité suivie à la fin de la période de déclaration. | -#### Plages / jeux de légendes { #ranges-legend-sets } +#### Plages / ensembles de légendes { #ranges-legend-sets } Pour les requêtes d'agrégation, vous pouvez spécifier une plage ou un ensemble de légendes pour les éléments de données numériques et les dimensions d'attributs. L'objectif est de regrouper les valeurs numériques dans des plages. Par exemple, au lieu de générer des données pour un élément de données "Âge" pour des années différentes, vous pouvez regrouper les informations par tranche d'âge. Pour ce faire, l'élément de données ou l'attribut doit être associé à l'ensemble de légendes. Le format est décrit ci-dessous : @@ -1145,7 +1148,7 @@ Si la requête produit plus que la limite maximale, un code de statut *409 Confl ### Analyse des événements en grappes{ #webapi_event_clustering_analytics } -La ressource *analytics/events/cluster* fournit des données géospatiales en grappe. Une requête se présente comme suit : +La ressource *analytics/events/cluster* fournit des données géospatiales en grappes. Une requête se présente comme suit : /api/analytics/events/cluster/eBAyeGv0exc?startDate=2016-01-01&endDate=2016-10-31 &dimension=ou:LEVEL-2&clusterSize=100000 @@ -1214,7 +1217,7 @@ La réponse fournit le nombre de points sous-jacents, le point central et l'éte ### Analyse du nombre d'événements et de la portée { #webapi_event_count_extent_analytics } -La ressource *analytics/events/count* est utilisée pour les requêtes de géométrie afin d'obtenir le nombre et l'étendue (boîte de délimitation) des événements pour une requête spécifique. La syntaxe de la requête est identique à celle de la ressource *events/query*. Voici l'exemple d'une requête : +La ressource *analytics/events/count* est utilisée pour les requêtes de géométrie afin d'obtenir le nombre et l'étendue (zone de délimitation) des événements pour une requête spécifique. La syntaxe de la requête est identique à celle de la ressource *events/query*. Voici l'exemple d'une requête : /api/analytics/events/count/eBAyeGv0exc?startDate=2016-01-01 &endDate=2016-10-31&dimension=ou:O6uvpzGd5pu @@ -1254,7 +1257,7 @@ Les erreurs de validation possibles pour l'API d'analyse d'événements sont dé | E7205 | Les dates de début et de fin ou au moins une période doivent être spécifiées. | | E7206 | La date de début est postérieure à la date de fin | | E7207 | Le numéro de page doit être un nombre positif | -| E7208 | La taille de la page doit être zéro ou nombre positif | +| E7208 | La taille de la page doit être zéro ou un nombre positif | | E7209 | La limite est supérieure à la limite maximale | | E7210 | Le champ de l'heure n'est pas valide | | E7211 | Le champ de l'unité d'organisation n'est pas valide | @@ -1264,14 +1267,14 @@ Les erreurs de validation possibles pour l'API d'analyse d'événements sont dé | E7215 | L'élément de requête ne peut pas spécifier à la fois un ensemble de légendes et un ensemble d'options. | | E7216 | L'élément de requête doit pouvoir être agrégé lorsqu'il est utilisé dans une requête agrégée. | | E7217 | L'utilisateur n'est pas autorisé à consulter les données d'analyse des événements | -| E7218 | La prise en charge des bases de données spatiales n'est pas activée | +| E7218 | Les bases de données spatiales ne sont pas activées | | E7219 | L'élément de données doit être de type "coordonnée" pour pouvoir être utilisé comme champ de coordonnées. | | E7220 | L'attribut doit être de type "coordonnée" pour pouvoir être utilisé comme champ de coordonnées. | | E7221 | Le champ de coordonnées n'est pas valide | | E7222 | L'élément de requête ou le filtre n'est pas valide | | E7223 | La valeur ne fait pas référence à un élément de données ou à un attribut qui sont numériques et font partie du programme. | | E7224 | L'identifiant d'élément ne fait référence à aucun élément de données, attribut ou indicateur qui fait partie du programme. | -| E7225 | L'étape de programme est obligatoire pour les dimensions de l'élément de données dans les requêtes d'analyse d'inscriptions. | +| E7225 | L'étape de programme est obligatoire pour les dimensions de l'élément de données, dans les requêtes d'analyse d'inscriptions. | | E7226 | La dimension n'est pas un élément de requête valide | | E7227 | Le type d'entité 'relation' n'est pas pris en charge | | E7228 | Le champ de coordonnées de repli n'est pas valide | @@ -1307,9 +1310,9 @@ Tableau : Possibilités d'indexation des étapes répétables |--------------------------------------------|------------------------------|--------------------------------------------------------------------------------------------| | edqlbukwRfQ.vANAXwtLwcT | N/A | date de la dernière exécution | | edqlbukwRfQ[0].vANAXwtLwcT | 0 | date de la dernière exécution | -| dqlbukwRfQ[-2].vANAXwtLwcT | -2 | deuxième à partir de la date de la dernière exécution | +| dqlbukwRfQ[-2].vANAXwtLwcT | -2 | deuxième à partir de la dernière date d'exécution | | dqlbukwRfQ[1].vANAXwtLwcT | 1 | date de la première exécution | -| dqlbukwRfQ[3].vANAXwtLwcT | 3 | troisième date d'exécution | +| dqlbukwRfQ[3].vANAXwtLwcT | 3 | date de la troisième exécution | | edqlbukwRfQ[*].vANAXwtLwcT | * | toutes les répétitions | | edqlbukwRfQ[-1~3].vANAXwtLwcT | -1, 3 | 3 répétitions en commençant par -1 (première après la dernière date d'exécution) | | edqlbukwRfQ[0~5~LAST_3_MONTHS ].vANAXwtLwcT | 0, 5, LAST_3_MONTHS | 5 répétitions à partir de la dernière date d'exécution jusqu'à la cinquième au cours des 3 derniers mois | @@ -1381,11 +1384,11 @@ Par défaut, les points d'extrémité `query` (requête) filtrent les périodes ##### Mot-clé NV { #nv-keyword } Un mot-clé spécial `NV` peut être utilisé pour filtrer les valeurs `null` (nulles). -Filtrer par ÂGE est nul +Le filtrage par l'ÂGE est nul &dimension=qrur9Dvnyt5:EQ:NV -Filtrer par ÂGE est non nul +Le filtrage par l'ÂGE est non nul &dimension=qrur9Dvnyt5:NE:NV @@ -1403,9 +1406,9 @@ Tableau : Opérateurs de filtre | Opérateur | Description | |---|---| -| EQ | Egale à | -| GT | Supérieure à | -| GE | Supérieure ou égal à | +| EQ | Egal à | +| GT | Supérieur à | +| GE | Supérieur ou égal à | | LT | Inférieur à | | LE | inférieur ou égal à | | NE | Pas égal à | @@ -1422,21 +1425,21 @@ Tableau : Paramètres de requête pour le point d'extrémité de la requête d' | Paramètre de requête | Obligatoire | Description | Options (par défaut en premier) | |---|---|---|---| -| de paludisme) ». | Oui | Identifiant du programme. | Tout identifiant de programme | -| date de début | Non | Date de début des inscriptions. | Les dates doivent être au format aaaa-MM-jj | -| date de fin | Non | Date de fin des inscriptions. | Les dates doivent être au format aaaa-MM-jj | +| program | Oui | Identifiant du programme. | Tout identifiant de programme | +| startDate | Non | Date de début des inscriptions. | Les dates doivent être au format aaaa-MM-jj | +| endDate | Non | Date de fin des inscriptions. | Les dates doivent être au format aaaa-MM-jj | | dimension | Oui | L'identifiant de dimension comprend les éléments de données, les attributs, les indicateurs de programme, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. | Les opérateurs peuvent être EQ | GT| GE| LT| LE| NE | COMME | DANS | -| filtre | Non | L'identifiant de dimension comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. || -| programStatus (statut de programme) | Non | Spécifie le statut d’inscription des inscriptions à inclure. | ACTIF | TERMINÉ | ANNULÉ | +| filter | Non | L'identifiant de dimension comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Le paramètre peut être répété autant de fois que nécessaire. Des filtres d'éléments peuvent être appliqués à une dimension selon le format ::. Les valeurs des filtres ne sont pas sensibles à la casse. || +| programStatus | Non | Spécifie le statut d’inscription des inscriptions à inclure. | ACTIF | TERMINÉ | ANNULÉ | | relativePeriodDate (Date de la période relative) | chaîne | Non | Identifiant de date, par exemple : "2016-01-01". Il remplace la date de début de la période relative | -| ou Mode | Non | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED | -| asc | Non | Permet de trier les dimensions par ordre croissant ; peut concerner la date d'inscription, la date d'incident, le nom et le code de l'unité d'organisation. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| ouMode | Non | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, SUBORDONNÉES, SÉLECTIONNÉES | +| asc | Non | Permet de trier les dimensions dans l'ordre croissant ; peut concerner la date d'inscription, la date d'incident, le nom et le code de l'unité d'organisation. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | | desc | Non | Permet de trier les dimensions dans l'ordre décroissant ; peut concerner la date d'inscription, la date d'incident, le nom et le code de l'unité d'organisation. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | -| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les inscriptions qui ont des coordonnées. | faux | vrai | +| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les inscriptions qui ont des coordonnées. | false | true | | en-têtes | Non | Le nom des en-têtes à renvoyer dans la réponse. | Un ou plusieurs noms d'en-têtes séparés par une virgule | | page | Non | Le numéro de page. La page par défaut est 1. | Valeur numérique positive | -| taille de la page | Non | La taille de la page. La taille par défaut est de 50 éléments par page. | Zéro ou valeur positive | -| timeField (champ du temps) | Non | Il s'agit du champ de temps utilisé dans le cadre des agrégations/requêtes sur les inscriptions. Il s'applique uniquement aux éléments de données d'inscription. Il peut s'agir d'une option prédéfinie ou de l'identifiant d'un attribut ou d'un élément de données dont le type de valeur est temporel. Pour les points d'extrémité "/analytics/enrollments/", le champ de temps par défaut est EVENT_DATE. | ENROLLMENT_DATE | LAST_UPDATED | | | +| pageSize | Non | La taille de la page. La taille par défaut est de 50 éléments par page. | Zéro ou valeur positive | +| timeField (champ de temps) | Non | Il s'agit du champ de temps utilisé dans le cadre des agrégations/requêtes sur les inscriptions. Il s'applique uniquement aux éléments de données d'inscription. Il peut s'agir d'une option prédéfinie ou de l'identifiant d'un attribut ou d'un élément de données dont le type de valeur est temporel. Pour les points d'extrémité "/analytics/enrollments/", le champ de temps par défaut est ENROLLMENT_DATE. | ENROLLMENT_DATE | LAST_UPDATED | | | #### Formats de réponse { #response-formats } @@ -1717,7 +1720,7 @@ Le format JSON de réponse par défaut ressemblera à ceci : } ``` -La section *en-têtes* de la réponse décrit le contenu du résultat de la requête. L'identifiant unique de l'inscription, l'identifiant de l'instance d'entité suivie, la date de l'inscription, le nom de l'incident, la géométrie, la latitude, la longitude, le nom et le code de l'unité d'organisation apparaissent en tant que premières dimensions dans la réponse et seront toujours présents. Viennent ensuite les éléments de données, les attributs d'entité suivie qui ont été définis comme dimensions dans la demande ; il s'agit dans ce cas précis des dimensions d'éléments de données "WHOMCH maladies chroniques" et "WHOMCH fumeurs". L'identifiant de l'élément de dimension se trouve dans la propriété "nom" et une description lisible de la dimension dans la propriété "colonne" de la section en-têtes. +La section *en-têtes* de la réponse décrit le contenu du résultat de la requête. L'identifiant unique de l'inscription, l'identifiant de l'instance d'entité suivie, la date de l'inscription, le nom de l'incident, la géométrie, la latitude, la longitude, le nom et le code de l'unité d'organisation apparaissent en tant que premières dimensions dans la réponse et seront toujours présents. Viennent ensuite les éléments de données, les attributs d'entité suivie qui ont été définis comme dimensions dans la demande ; il s'agit dans ce cas précis des dimensions d'éléments de données "WHOMCH maladies chroniques" et "WHOMCH fumeuses". L'identifiant de l'élément de dimension se trouve dans la propriété "nom" et une description lisible de la dimension dans la propriété "colonne" de la section d'en-têtes. La section *metaData*, objet *ou* (unité d'organisation), contient les identifiants de toutes les unités d'organisation présentes dans la réponse, mis en correspondance avec une chaîne qui représente la hiérarchie. Cette chaîne hiérarchique énumère les identifiants des ascendants de l'unité d'organisation en commençant par la racine. L'objet *noms* contient les identifiants de tous les éléments de la réponse mis en correspondance avec leurs noms. @@ -1759,9 +1762,9 @@ Tableau : Dimensions de l'ES | Attributs du programme (attributs de l'ES) | `` | L'identifiant de l'attribut du programme. | Éléments de données dans les étapes du programme | `.[offset].` | Les identifiants des éléments de données doivent inclure le programme et la phase du programme. Par exemple : `dimension=IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO`. | | Périodes | N.A. | Il n'y a pas de support direct pour la dimension `période`. Les périodes sont prises en charge par plusieurs paramètres spécifiques. Voir la section *Périodes* ci-dessous. | -| Unités d'organisation de l'IES | `uo` | Les identifiants des unités d'organisation, ainsi que les mots clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP-. | +| Unités d'organisation de l'IES | `ou` | Les identifiants des unités d'organisation, ainsi que les mots clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP-. | | Unités d'organisation chargées de l'inscription | `.ou` | Les identifiants des unités d'organisation, ainsi que les mots clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP-. | -| Unités d'organisation d'événements | `.ou` | Les identifiants des unités d'organisation, ainsi que les mots clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP-. | +| Unités d'organisation des événements | `.ou` | Les identifiants des unités d'organisation, ainsi que les mots clés USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- et OU_GROUP-. | #### Décalage { #offset } @@ -1810,16 +1813,16 @@ Par exemple, vous pouvez filtrer l'élément de données "Poids du nourrisson (g #### Périodes { #periods } -Contrairement aux endpoints d'inscription et de requête d'événement, l'endpoint TE prend en charge plusieurs méthodes de spécification de la période à laquelle les données appartiennent. Elles sont basées sur différents paramètres *date*, comme indiqué ci-dessous : +Contrairement aux endpoints d'inscription et de requête d'événement, l'endpoint de l'ES prend en charge plusieurs méthodes de spécification de la période à laquelle les données appartiennent. Elles sont basées sur différents paramètres *date*, comme indiqué ci-dessous : | Paramètre | Description | |----------------|----------------------------------------------------------------------------------| -| eventDate (date de l'événement) | Les ES seront filtrés en fonction de la date à laquelle l'événement s'est produit. | +| eventDate | Les ES seront filtrés en fonction de la date à laquelle l'événement s'est produit. | | enrollmentDate (date d'inscription) | Les ES seront filtrés en fonction de la date d'inscription. | -| scheduledDate (date programmée) | Les ES seront filtrés en fonction de la date à laquelle l'événement a été programmé. | +| scheduledDate (date de programmation) | Les ES seront filtrés en fonction de la date à laquelle l'événement a été programmé. | | incidentDate (date d'incident) | Les ES seront filtrés en fonction de la date d'incident de l'inscription. | | lastUpdated (dernière mise à jour) | Les ES seront filtrés en fonction de la date de la dernière mise à jour de l'ES, de l'inscription ou de l'événement. | -| créés | Les ES seront filtrés en fonction de la date de création de l'ES, de l'inscription ou de l'événement. | +| created | Les ES seront filtrés en fonction de la date de création de l'ES, de l'inscription ou de l'événement. | Certaines périodes, mentionnées ci-dessus, peuvent être appliquées aux entités suivies, aux inscriptions ou aux événements, selon la manière dont elles sont exprimées. @@ -1849,39 +1852,39 @@ Tableau : Paramètres de requête pour le endpoint de l'ES | Paramètre de requête | Obligatoire | Description | Options (par défaut en premier) | |-------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| TrackedEntityType (Type d'entité suivie) | Oui | Identifiant du type d'entité suivie. | Tout identifiant de type d'entité suivie. | -| de paludisme) ». | Non | Identifiants du programme. | Tout identifiant de programme. Il accepte plusieurs identifiants séparés par des virgules. | -| dimension | Non | L'identifiant de la dimension, comprend les éléments de données, les attributs, les indicateurs de programme, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Ce paramètre peut être spécifié plusieurs fois. Les filtres de dimension peuvent être appliqués à une dimension sous le format ::. Les valeurs des filtres peuvent être insensibles à la casse (en fonction de l'opérateur). | Opérateurs pris en charge: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | -| filtre | Non | L'identifiant de la dimension, comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Ce paramètre peut être spécifié plusieurs fois. Les filtres de dimension peuvent être appliqués à une dimension sous le format ::. Les valeurs des filtres peuvent être insensibles à la casse (en fonction de l'opérateur). | Opérateurs pris en charge: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | +| TrackedEntityType | Oui | Identifiant du type d'entité suivie. | Tout identifiant de type d'entité suivie. | +| program | Non | Identifiants du programme. | Tout identifiant de programme. Il accepte plusieurs identifiants séparés par des virgules. | +| dimension | Non | L'identifiant de la dimension, comprend les éléments de données, les attributs, les indicateurs de programme, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Ce paramètre peut être spécifié plusieurs fois. Les filtres de dimension peuvent être appliqués à une dimension sous le format ::. Les valeurs des filtres peuvent être insensibles à la casse (en fonction de l'opérateur). | Opérateurs pris en charge: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | +| filter | Non | L'identifiant de la dimension, comprend les éléments de données, les attributs, les périodes, les unités d'organisation et les ensembles de groupes d'unités d'organisation. Ce paramètre peut être spécifié plusieurs fois. Les filtres de dimension peuvent être appliqués à une dimension sous le format ::. Les valeurs des filtres peuvent être insensibles à la casse (en fonction de l'opérateur). | Opérateurs pris en charge: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | | en-têtes | Non | Le nom des en-têtes à renvoyer dans la réponse. | Un ou plusieurs noms d'en-têtes (séparés par une virgule). | | relativePeriodDate (Date de la période relative) | Non | Ce paramètre remplace la date de début, par conséquent les périodes relatives utiliseront cette date comme date de début. | Exemple: "2016-01-01" | -| ouMode (Mode d'unité d'organisation) | Non | Mode de sélection des unités d'organisation. La valeur par défaut est DESCENDANTS, c'est-à-dire toutes les sous-unités de la hiérarchie. CHILDREN fait référence aux subordonnés immédiats dans la hiérarchie ; SELECTED fait référence aux unités d'organisation sélectionnées uniquement. | DESCENDANTS, CHILDREN, SELECTED | +| ouMode | Non | Mode de sélection des unités d'organisation. La valeur par défaut est DESCENDANTS, c'est-à-dire toutes les sous-unités de la hiérarchie. CHILDREN fait référence aux subordonnés immédiats dans la hiérarchie ; SELECTED fait référence aux unités d'organisation sélectionnées uniquement. | DESCENDANTS, SUBORDONNÉES, SÉLECTIONNÉES | | asc | Non | Permet de trier les dimensions dans l'ordre croissant ; peut concerner la date d'inscription, la date d'incident, le nom et le code de l'unité d'organisation. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | | desc | Non | Permet de trier les dimensions dans l'ordre décroissant ; peut concerner la date d'inscription, la date d'incident, le nom et le code de l'unité d'organisation. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | | page | Non | Le numéro de page. La valeur par défaut est 1. | Valeur numérique positive. | -| taille de la page | Non | La taille de la page. La valeur par défaut est 50 (ce qui signifie 50 éléments par page). | Zéro ou valeur positive. | +| pageSize | Non | La taille de la page. La valeur par défaut est 50 (ce qui signifie 50 éléments par page). | Zéro ou valeur positive. | | displayProperty (afficher la propriété) | Non | Affiche la propriété des métadonnées. | NAME | SHORTNAME | -| includeMetadataDetails (inclure les détails des métadonnées) | Non | Inclut les détails des métadonnées dans la réponse générée pour les données brutes. | faux | vrai | +| includeMetadataDetails (inclure les détails des métadonnées) | Non | Inclut les détails des métadonnées dans la réponse générée pour les données brutes. | false | true | | outputIdScheme (schéma d'identification de la sortie) | Non | Schéma d'identification utilisé pour les éléments de métadonnées dans la réponse à la requête. Il accepte des identifiants, des codes ou des attributs. | UID | UUID | CODE | NAME | ATTRIBUTE: | | dataIdScheme (schéma d'identification des données) | Non | Schéma d'identification à utiliser pour les données, plus spécifiquement pour les éléments de données et les attributs qui disposent d'un ensemble d'options ou de légendes. Ceci permet par exemple de renvoyer le nom de l'option au lieu du code, ou le nom de la légende au lieu de son ID, dans la réponse. | NAME | CODE | UID | -| programStatus (statut de programme) | Non | Spécifie le statut d'inscription des événements à inclure. *OBSOLÈTE , utilisez de préférence `enrollmentStatus`*. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | -| Statut de l'inscription | Non | Spécifie le statut d’inscription des événements à inclure. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | -| eventStatus (statut d'événement) | Non | Spécifier le statut des événements à inclure. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | -| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des coordonnées. | faux | vrai | -| geometryOnly (géométrie Uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des géométries. | faux | vrai | +| programStatus | Non | Spécifie le statut d'inscription des événements à inclure. *OBSOLÈTE , utilisez de préférence `enrollmentStatus`*. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | +| enrollmentStatus | Non | Spécifie le statut d’inscription des événements à inclure. | ACTIVE | COMPLETED | CANCELLED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | +| eventStatus | Non | Spécifier le statut des événements à inclure. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. La séparation peut se faire par des virgules (*pour la requête uniquement*). | +| coordinatesOnly (coordonnées uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des coordonnées. | false | true | +| geometryOnly (géométrie Uniquement) | Non | Indique s'il faut uniquement renvoyer les événements qui ont des géométries. | false | true | | userOrgUnit (unité d'organisation d'utilisateur) | Non | Identifiant de l’unité d’organisation de l'utilisateur. | Tout identifiant de l’unité d’organisation. | -| skipMeta (ignorer les métadonnées) | Non | Ignorer les métadonnées dans la réponse. | faux | vrai | -| skipData (ignorer les données) | Non | Ignorer les données dans la réponse. | faux | vrai | -| skipRounding (ignorer l'arrondissement des valeurs) | Non | Évite d'arrondir les données. | faux | vrai | -| skipHeaders (ignorer les en-têtes) | Non | Ignorer les en-têtes dans la réponse. | faux | vrai | -| totalPages (pages totales) | Non | Indiquez le nombre total de pages dans la réponse. | faux | vrai | +| skipMeta | Non | Ignorer les métadonnées dans la réponse. | false | true | +| skipData (ignorer les données) | Non | Ignorer les données dans la réponse. | false | true | +| skipRounding (ignorer l'arrondissement des valeurs) | Non | Évite d'arrondir les données. | false | true | +| skipHeaders (ignorer les en-têtes) | Non | Ignorer les en-têtes dans la réponse. | false | true | +| totalPages | Non | Indiquez le nombre total de pages dans la réponse. | false | true | | displayProperty (afficher la propriété) | Non | Affiche la propriété des métadonnées. | NAME | SHORTNAME | ## Dimensions { #webapi_dimensions } Vous pouvez extraire facilement les dimensions de données à partir de cinq ressources : -- [Dimensions de données de requête d'événement](#webapi_event_query_analytics_dimension)`/analytics/events/query/dimensions` +- [Dimensions de données de la requête d'événement](#webapi_event_query_analytics_dimension)`/analytics/events/query/dimensions` - [Dimensions de données agrégées d'événement](#webapi_event_aggregate_analytics_dimension) `/analytics/events/aggregate/dimensions` - [Dimensions de données de la requête d'inscription](#webapi_enrollment_query_analytics_dimension) `/analytics/enrollments/query/dimensions` - [Dimensions de données agrégées d'inscription](#webapi_enrollment_aggregate_analytics_dimension) `/analytics/enrollments/aggregate/dimensions` @@ -1891,12 +1894,12 @@ Les ressources mentionnées ci-dessus utilisent tous le paramètre de requête s | Paramètre de requête | requis | Description | Options | |-----------------|--------------------------------------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| -| filtre | no | Permet de filtrer les valeurs des champs selon le format :
`filter=champ:OP:valeur&filter=champ:OP:valeur&...` | Voir la [section des filtres de dimension].(#webapi_analytics_dimension_filters) | +| filter | no | Permet de filtrer les valeurs des champs selon le format :
`filter=champ:OP:valeur&filter=champ:OP:valeur&...` | Voir la [section des filtres de dimension].(#webapi_analytics_dimension_filters) | | champs | no | Permet de filtrer les champs | | page | no | Numéro de page | La valeur par défaut est 1 (première page) | -| taille de la page | no | Taille de la page | La valeur par défaut est de 50 éléments par page | +| pageSize | no | Taille de la page | La valeur par défaut est de 50 éléments par page | | pagination | no | Désactive la pagination s'il est définit sur `false`. | `true` ou `false` : la valeur par défaut est `true` | -| Ordre | no | Permet d'effectuer le tri selon le format : `order=field:direction` | Voici les champs qui peuvent être triés : `created` (par défaut), `lastUpdated`, `code`, `uid`, `id`, `name`, `displayName`, `dimensionType`

Le tri peut se faire dans l'ordre `ASC` (par défaut) ou `DESC` | +| order | no | Permet d'effectuer le tri selon le format : `order=field:direction` | Voici les champs qui peuvent être triés : `created` (par défaut), `lastUpdated`, `code`, `uid`, `id`, `name`, `displayName`, `dimensionType`

Le tri peut se faire dans l'ordre `ASC` (par défaut) ou `DESC` | #### Filtres de dimension { #webapi_analytics_dimension_filters } @@ -1905,8 +1908,8 @@ Les filtres sont au format `filter=field:op:value&filter=field:op:value&...&filt Les valeurs de `champ` prises en charge sont les suivantes : -- **id**/**uid** - identifiant de dimension -- **code** - code de dimension +- **id**/**uid** - identifiant de la dimension +- **code** - code de la dimension - **valueType** - type de valeur de la dimension - **name** - le nom de la dimension - **dimensionType** - le type de dimension @@ -1914,7 +1917,7 @@ Les valeurs de `champ` prises en charge sont les suivantes : - `PROGRAM_INDICATOR` - `PROGRAM_ATTRIBUTE` - `CATEGORY` - - `CATEGORY_OPTION_GROUP_SET` + - `CATEGORY_OPTION_GROUP_SET` (ensemble de groupes d'options de catégorie) - **displayName** - nom d'affichage de la dimension - **displayShortName** - nom d'affichage court pour la dimension @@ -1932,8 +1935,8 @@ Les valeurs `op` prises en charge sont : - `ilike` - contient des cas ignorés - `!ilike` - ne contient pas des cas ignorés -### Dimensions de l'analyse des événements { #event-analytics-dimensions } -#### Dimensions d'analyse des requêtes d'événements { #webapi_event_query_analytics_dimension } +### Dimensions analytiques des événements { #event-analytics-dimensions } +#### Dimensions analytiques des requêtes d'événement { #webapi_event_query_analytics_dimension } La ressource `/analytics/events/query/dimensions?programId={programId}&programStageId={programStageId}` accepte : @@ -1953,7 +1956,7 @@ les dimensions des données renvoyées sont les suivantes : - **Éléments de données** des *types pris en charge* dans l'étape de programme - **attributs d'entités suivies** des *types pris en charge* associés au programme (dérivés de l'ID de l'étape de programme) - **Catégories** dans la combinaison de catégories associée au programme (dérivés de l'ID de l'étape de programme) -- **Ensembles de groupes d'options de catégorie** de type `ATTRIBUTE` +- **Ensembles de groupes d'options de catégorie** de type `ATTRIBUT` Tous les types de valeurs pour les éléments de données et les attributs d'entité suivie sont considérés comme des *types pris en charge*, à l'exception de `IMAGE`, `FILE_RESOURCE` et `TRACKER_ASSOCIATE`. @@ -1968,19 +1971,19 @@ La ressource `/analytics/events/aggregate/dimensions?programStageId=...` accepte Les éléments de données et les attributs d'entité suivie sont considérés comme des *types pris en charge* si leur type de valeur est l'un des suivants : -- `NUMBRE` +- `NOMBRE` - `INTERVALLE_UNITAIRE` -- `PERCENTAGE` -- `INTEGER` -- `INTEGER_POSITIVE` +- `POURCENTAGE` +- `ENTIER` +- `ENTIER_POSITIF` - `ENTIER_NÉGATIF` - `ENTIER_ZÉRO_OU_POSITIF` - `BOOLÉEN` - `TRUE_ONLY` (vrai uniquement) -### Dimensions de l'analyse des inscriptions { #enrollment-analytics-dimensions } +### Dimensions analytiques des inscriptions { #enrollment-analytics-dimensions } -#### Dimensions de l'analyse des requêtes d'inscription { #webapi_enrollment_query_analytics_dimension } +#### Dimensions analytiques des requêtes d'inscription { #webapi_enrollment_query_analytics_dimension } La ressource `/analytics/enrollments/query/dimensions?programId=...` accepte un identifiant obligatoire d'un programme Tracker et renvoie les dimensions de données suivantes : @@ -2001,15 +2004,15 @@ Les éléments de données et les attributs d'entité suivie sont considérés c - `NOMBRE` - `INTERVALLE_UNITAIRE` -- `PERCENTAGE` -- `INTEGER` -- `INTEGER_POSITIVE` +- `POURCENTAGE` +- `ENTIER` +- `ENTIER_POSITIF` - `ENTIER_NÉGATIF` - `ENTIER_ZÉRO_OU_POSITIF` - `BOOLÉEN` - `TRUE_ONLY` (vrai uniquement) -### Dimensions d'analyse des entités suivies { #tracked-entities-analytics-dimensions } +### Dimensions analytiques des entités suivies { #tracked-entities-analytics-dimensions } #### dimensions analytiques des requêtes d'entité suivie{ #webapi_teis_query_analytics_dimensions } @@ -2099,7 +2102,7 @@ L'API requiert au moins une unité d'organisation et au moins un ensemble de gro ### Paramètres de requête{ #request-query-parameters } -La ressource analytique des unités d'organisation vous permet de spécifier un ensemble de paramètres d'interrogation : +La ressource analytique des unités d'organisation vous permet de spécifier un ensemble de paramètres de requête : @@ -2126,7 +2129,7 @@ Le point d'extrémité analytique des unités d'organisation rend en charge les ### Exemples { #examples } -Pour obtenir des analyses d'unité d'organisation pour une unité d'organisation et un ensemble de groupes d'unités d'organisation : +Pour obtenir des analyses d'unité d'organisation pour une unité d'organisation et un ensemble de groupes d'unités d'organisation, utilisez ce qui suit : GET /api/orgUnitAnalytics?ou=lc3eMKXaEfw&ougs=J5jldMd8OHv @@ -2160,14 +2163,14 @@ La requête prend en charge les paramètres suivants : -Tableau : Paramètres de requête du rapport sur l'ensemble de données +Tableau : Paramètres de la requête du rapport d'ensemble de données | Paramètre | Description | Type | Obligatoire | |---|---|---|---| | ds | L'ensemble de données à partir duquel le rapport est créé. | UID de l'ensemble de données | Oui | | pe | La ou les période(s) à partir de laquelle/desquelles le rapport doit être créé. Il peut s'agir d'une liste dont les éléments sont séparés par des virgules. | Chaîne ISO | Oui | | ou | L'unité d'organisation à partir de laquelle le rapport doit être créé. | L'UID de l'unité d'organisation | Oui | -| filtre | Les filtres à utiliser pour le rapport ; ils peuvent être répétés autant de fois que nécessaire. Ils viennent juste après la syntaxe de l'API analytique. | Un ou plusieurs UID | Non | +| filter | Les filtres à utiliser pour le rapport ; ils peuvent être répétés autant de fois que nécessaire. Ils viennent juste après la syntaxe de l'API analytique. | Un ou plusieurs UID | Non | | selectedUnitOnly (unité sélectionnée uniquement) | Détermine s'il faut utiliser les données saisies uniquement ou les données agrégées. | Booléen | Non | La ressource du rapport sur les ensembles de données accepte uniquement les requêtes `GET`. Le contenu de la réponse est de type `application/json` et les données sont renvoyées dans une grille. Ce point d'extrémité fonctionne pour tous les types d'ensemble de données, notamment les formulaires par défaut, les formulaires à sections et les formulaires personnalisés. @@ -2195,11 +2198,11 @@ Le point d'extrémité du rapport sur l'ensemble de données prend en charge les ### Formulaires personnalisés { #custom-forms } -Un point d'extrémité spécifique est disponible pour les ensembles de données avec des formulaires HTML personnalisés. Ce point d'extrémité renvoie le contenu du formulaire HTML au format `text/html` avec les données qui y sont insérées. Vous pouvez également utiliser le point d'extrémité du rapport général sur les ensembles de données pour les ensembles de données avec des formulaires personnalisés. Cependant, ce point d'extrémité renverra le rapport au format JSON dans une grille. Ce point d'extrémité ne fonctionne que pour les ensembles de données avec des formulaires HTML personnalisés. +Un point d'extrémité spécifique est disponible pour les ensembles de données avec des formulaires HTML personnalisés. Ce point d'extrémité renvoie le contenu du formulaire HTML avec le type de contenu `text/html` et les données y sont insérées. Vous pouvez également utiliser le point d'extrémité du rapport général sur les ensembles de données pour les ensembles de données avec des formulaires personnalisés. Cependant, ce point d'extrémité renverra le rapport au format JSON dans une grille. Ce point d'extrémité ne fonctionne que pour les ensembles de données avec des formulaires HTML personnalisés. GET /api/dataSetReport/custom -La syntaxe de ce point d'extrémité est par ailleurs la même que celle du point d'extrémité du rapport général sur les ensembles de données. Pour récupérer un rapport HTML personnalisé sur un ensemble de données, vous pouvez effectuer la requête suivant : +La syntaxe de ce point d'extrémité est par ailleurs la même que celle du point d'extrémité du rapport général sur les ensembles de données. Pour récupérer un rapport HTML personnalisé sur un ensemble de données, vous pouvez effectuer la requête suivante : GET /api/dataSetReport/custom?ds=lyLU2wR22tC&pe=201810&ou=ImspTQPwCqd @@ -2227,9 +2230,9 @@ Tableau : Propriétés de l'analyse push | tableau de bord | Tableau de bord sur lequel repose les rapports | UID du tableau de bord | Oui | | message | Apparaît après le titre dans les rapports | Chaîne | Non | | recipientUserGroups (groupes d'utilisateurs destinataires) | Un ensemble de groupes d'utilisateurs qui doivent recevoir les rapports | Un ou plusieurs UID de groupes d'utilisateurs | Non. Les tâches programmées sans destinataire seront ignorés. | -| activé | Indique si cette analyse push doit être planifiée ou non. La valeur par défaut est 'Faux'. | Booléen | Oui. Doit être défini sur "true" pour être planifié. | -| schedulingFrequency (fréquence de planification) | La fréquence à laquelle les rapports doivent être planifiés. | "QUOTIDIEN", "HEBDOMADAIRE", "MENSUEL" | Non. Les analyses push sans fréquence ne seront pas planifiés. | -| schedulingDayOfFrequency (Programmation du jour de la fréquence) | Le jour dans la fréquence où la tâche doit être planifiée. | Entier. Toute valeur est valide lorsque la fréquence est "QUOTIDIENNE". 0-7 lorsque la fréquence est "HEBDOMADAIRE". 1-31 lorsque la fréquence est "MENSUELLE" | Non. Les analyses push qui n'ont pas de jour de fréquence valide pour l'ensemble de fréquences ne seront pas planifiées. | +| activé | Indique si cette analyse push doit être programmée ou non. La valeur par défaut est 'Faux'. | Booléen | Oui. Doit être défini sur "true" pour être programmée. | +| schedulingFrequency (fréquence de planification) | La fréquence à laquelle les rapports doivent être programmés. | "QUOTIDIENNE", "HEBDOMADAIRE", "MENSUELLE" | Non. Les analyses push sans fréquence ne seront pas programmées. | +| schedulingDayOfFrequency (Programmation du jour de la fréquence) | Le jour dans la fréquence où la tâche doit être programmée. | Entier. Toute valeur est valide lorsque la fréquence est "QUOTIDIENNE". 0-7 lorsque la fréquence est "HEBDOMADAIRE". 1-31 lorsque la fréquence est "MENSUELLE" | Non. Les analyses push qui n'ont pas de jour de fréquence valide pour l'ensemble de fréquences ne seront pas programmées. | ## Analyse de l'utilisation des données { #webapi_usage_analytics } @@ -2237,13 +2240,13 @@ L'API d'analyse de l'utilisation vous permet d'accéder à des informations sur /api/dataStatistics -L'API d'analyse de l'utilisation vous permet de récupérer des instantanés agrégés sur l'analyse de l'utilisation, en fonction d'intervalles de temps donnés. L'API capture les vues des utilisateurs (par exemple le nombre de fois qu'un graphique ou un tableau croisé dynamique a été visualisé par un utilisateur) et les favoris d'analyse enregistrés (par exemple les graphiques et les tableaux croisés dynamiques favoris). DHIS2 capture des instantanés nocturnes qui sont ensuite agrégés à la demande. +L'API d'analyse de l'utilisation vous permet de récupérer des instantanés agrégés sur l'analyse de l'utilisation, en fonction d'intervalles de temps donnés. L'API capture les visualisations des utilisateurs (par exemple le nombre de fois qu'un graphique ou un tableau croisé dynamique a été visualisé par un utilisateur) et les favoris d'analyse enregistrés (par exemple les graphiques et les tableaux croisés dynamiques favoris). DHIS2 capture des instantanés nocturnes qui sont ensuite agrégés à la demande. ### Paramètres de requête{ #webapi_usage_analytics_request_query_parameters } L'API d'analyse de l'utilisation (statistiques de données) prend en charge deux opérations : - - *POST:* crée un événement de vue + - *POST:* crée un événement de visualisation - *GET:* récupère les statistiques agrégées @@ -2255,21 +2258,20 @@ L'URL qui crée une nouvelle visualisation d'événement des graphiques : POST /api/dataStatistics?eventType=CHART_VIEW&favorite=LW0O27b7TdD -Une opération de sauvegarde réussie renvoie un code de statut HTTP "201". Le tableau ci-dessous présente les types d'événement pris en charge. +Une opération de sauvegarde réussie renvoie un code de statut HTTP "201". Le tableau ci-dessous présente les types d'événements pris en charge. Tableau : Types d'événements pris en charge | Clé | Description | |---|---| -| VISUALIZATION_VIEW (VISUALISATION VUE) | Aperçu de la visualisation | +| VISUALIZATION_VIEW (APERÇU DE LA VISUALISATION) | Aperçu de la visualisation | | MAP_VIEW | Aperçu de la carte (GIS) | | EVENT_REPORT_VIEW | Aperçu du rapport d'événement | | EVENT_CHART_VIEW | Aperçu du graphique d'événement | | EVENT_VISUALIZATION_VIEW | Aperçu de la visualisation d'événement | | DASHBOARD_VIEW | Aperçu du tableau de bord | -| PASSIVE_DASHBOARD_VIEW | Aperçu du tableau de bord (lorsque le tableau de bord n'est pas explicitement sélectionné) - | +| PASSIVE_DASHBOARD_VIEW | Aperçu du tableau de bord (lorsque le tableau de bord n'est pas explicitement sélectionné) | | DATA_SET_REPORT_VIEW | Aperçu du rapport sur l'ensemble des données | ### Récupération des rapports agrégés d'analyse de l'utilisation (GET) { #webapi_aggregated_usage_analytics } @@ -2282,9 +2284,9 @@ Tableau : Paramètres de requête pour l'analyse agrégée de l'utilisation (sta | Paramètre de requête | Obligatoire | Description | Options | |---|---|---|---| -| date de début | Oui | Date de début de la période | Les dates doivent être au format aaaa-MM-jj | -| date de fin | Oui | Date de fin de la période | Les dates doivent être au format aaaa-MM-jj | -| intervalle | Oui | Type d'intervalle à agréger | JOUR, SEMAINE, MOIS, ANNÉE | +| startDate | Oui | Date de début de la période | Les dates doivent être au format aaaa-MM-jj | +| endDate | Oui | Date de fin de la période | Les dates doivent être au format aaaa-MM-jj | +| intervalle | Oui | Type d'intervalle pour l'agrégation | JOUR, SEMAINE, MOIS, ANNÉE | Les paramètres 'date de début' et 'date de fin' spécifient la période pour laquelle les instantanés doivent être utilisés dans l'agrégation. Vous devez mettre les dates au format indiqué ci-dessus. Si aucun instantané n'est sauvegardé au cours de la période spécifiée, une liste vide est renvoyée. Le paramètre appelé 'intervalle' spécifie le type d'agrégation qui sera effectué. @@ -2302,15 +2304,15 @@ Tableau : Paramètres requête pour les principaux favoris | Paramètre de requête | Obligatoire | Description | Options | |---|---|---|---| | eventType (type d'événement) | Oui | Le type d'événement des statistiques de données | Voir le tableau ci-dessus | -| taille de la page | Non | Taille de la liste renvoyée | Par exemple 5, 10, 25. La valeur par défaut est 25 | -| sortOrder (ordre de tri) | Non | Décroissant ou croissant | ASC ou DESC. La valeur par défaut est DESC. | +| pageSize | Non | Taille de la liste renvoyée | Par exemple 5, 10, 25. La valeur par défaut est 25 | +| sortOrder | Non | Décroissant ou croissant | ASC ou DESC. La valeur par défaut est DESC. | | Nom d'utilisateur | Non | Si ce paramètre est spécifié, la réponse ne contiendra que les favoris de cet utilisateur. | Par exemple, "admin". | La requête API peut être utilisée sans nom d'utilisateur. Dans ce cas, elle trouvera les principaux favoris de tout le système. /api/dataStatistics/favorites?eventType=CHART_VIEW&pageSize=25&sortOrder=ASC -Si le nom d'utilisateur est spécifié, la réponse ne contiendra que les favoris de cet utilisateur. +Si le nom d'utilisateur est spécifié, la réponse ne contiendra que les principaux favoris de cet utilisateur. /api/dataStatistics/favorites?eventType=CHART_VIEW&pageSize=25 &sortOrder=ASC&username=admin @@ -2417,9 +2419,9 @@ La réponse contiendra le nombre de visualisations pour le favori en question et } ``` -## Fonctionnalités géospatiales { #webapi_geospatial_features } +## Éléments géospatiaux { #webapi_geospatial_features } -La ressource *geoFeatures* vous permet d'extraire des informations géospatiales de DHIS2. Les fonctionnalités géospatiales sont stockées avec les unités d'organisation. La syntaxe utilisée pour extraire ces fonctionnalités est identique à la celle utilisée pour la dimension d'unité d'organisation de la ressource analytique. Nous vous recommandons de vous renseigner sur la ressource de l'API analytique avant de poursuivre la lecture de cette section. Vous devez utiliser le type de requête GET et seul le format de réponse JSON est pris en charge. +La ressource *geoFeatures* vous permet d'extraire des informations géospatiales de DHIS2. Les éléments géospatiaux sont stockées avec les unités d'organisation. La syntaxe utilisée pour extraire ces éléments est identique à la celle utilisée pour la dimension d'unité d'organisation de la ressource analytique. Nous vous recommandons de vous renseigner sur la ressource de l'API analytique avant de poursuivre la lecture de cette section. Vous devez utiliser le type de requête GET et seul le format de réponse JSON est pris en charge. Par exemple, pour récupérer les éléments géospatiaux de toutes les unités d'organisation situées au niveau 3 de la hiérarchie des unités d'organisation, vous pouvez utiliser une requête GET avec l'URL suivante : @@ -2431,7 +2433,7 @@ Pour récupérer les éléments géospatiaux des unités d'organisation à un ni La valeur des coordonnées de la réponse peut être lue à partir de deux propriétés déterminées par le paramètre `coordinateField` (champ de coordonnées). - La propriété `geometry` de l'unité d'organisation : c'est le fonctionnement par défaut qui est appliqué lorsque le paramètre `coordinateField` n'est pas fourni. - - L'attribut de l'unité d'organisation de type de valeur GeoJSON : l'API va utiliser le champ `coordinateField={attributeId}` fourni pour obtenir les coordonnées GeoJSON de la valeur de cet attribut. + - L'attribut de l'unité d'organisation de type de valeur GeoJSON : l'API va utiliser le champ `coordinateField={attributeId}` fourni pour obtenir les coordonnées GeoJSON à partir de la valeur de cet attribut. Par exemple, si vous voulez récupérer des éléments géospatiaux pour toutes les unités d'organisation au niveau 3 tel que mentionné plus haut, mais en obtenant les coordonnées à partir de l'attribut d'unité d'organisation `tJqtSV4quLb`, utilisez ceci : @@ -2443,10 +2445,10 @@ Tableau : Réponse pour les éléments géospatiaux | Propriété | Description | |---|---| -| identifiant | Unité d'organisation / identifiant de l'élément géospatiale | +| id | Unité d'organisation / identifiant de l'élément géospatiale | | na | Unité d'organisation / nom de l'élément géospatiale | -| hcd | Les coordonnées se trouvent vers le bas ; elles indiquent s'il existe une ou plusieurs unités d'organisation subordonnées avec des coordonnées (c'est-à-dire à un niveau inférieur dans la hiérarchie). | -| hcu | Les coordonnées se trouvent vers le haut ; elles indiquent si l'unité d'organisation mère a des coordonnées (c'est-à-dire à un niveau supérieur dans la hiérarchie). | +| hcd | Les coordonnées se trouvent vers le bas ; elles indiquent s'il existe une ou plusieurs unités d'organisation subordonnées avec des coordonnées (c'est-à-dire qu'elle(s) se trouvent à un niveau inférieur dans la hiérarchie). | +| hcu | Les coordonnées se trouvent vers le haut ; elles indiquent si l'unité d'organisation mère a des coordonnées (c'est-à-dire qu'elle se trouve à un niveau supérieur dans la hiérarchie). | | le | Niveau de cette unité d'organisation / élément géospatial | | pg | Graphique mère : il s'agit du graphique contenant les identifiants des unités d'organisation mères jusqu'à la racine de la hiérarchie. | | pi | Identifiant mère : il s'agit de l'identifiant de l'ascendant direct de cette unité d'organisation | @@ -2461,15 +2463,15 @@ Pour exporter du GeoJSON, vous pouvez simplement ajouter *.geosjon* en tant qu'e Deux paramètres sont pris en charge : `level` (1 par défaut) et `parent` (unités d'organisation racine par défaut). Les deux paramètres peuvent être ajoutés à plusieurs reprise. Quelques exemples : -Obtenir tous les éléments aux niveaux 2 et 4 : +Pour obtenir tous les éléments aux niveaux 2 et 4 : /api/organisationUnits.geojson?level=2&level=4 -Pour obtenir tous les éléments du niveau 3 avec une unité d'organisation limite : +Pour obtenir tous les éléments au niveau 3 avec une unité d'organisation limite : /api/organisationUnits.geojson?parent=fdc6uOvgoji&level=3 -## Crochets pour table analytiques { #webapi_analytics_table_hooks } +## Crochets pour tableaux analytiques { #webapi_analytics_table_hooks } Les crochets de tableaux analytiques fournissent un mécanisme permettant d'appeler des scripts SQL au cours des différentes phases du processus de génération des tableaux analytiques. Ceci permet de personnaliser les données dans les tableaux de ressources et d'analyse, par exemple pour obtenir une logique spécifique pour les calculs et l'agrégation. Vous pouvez manipuler les crochets de tables analytiques à l'aide du point d'extrémité d'API suivant : @@ -2487,7 +2489,7 @@ Tableau : Champs des crochets de tableaux analytiques | Champ | Options | Description | |---|---|---| -| nom | Texte | Nom du crochet. | +| name | Texte | Nom du crochet. | | phase | RESOURCE_TABLE_POPULATED, ANALYTICS_TABLE_POPULATED (tableau de ressources et tableau analytique renseignés) | Phase au cours de laquelle le script SQL doit être appelé. | | resourceTableType (type de tableau de ressources) | Voir la colonne "Type de tableau" dans le tableau "Phases, types de tableaux et tableaux temporaires" ci-dessous. | Le type de tableau de ressources pour lequel le script SQL doit être appelé. Ceci ne s'applique qu'aux crochets définis avec la phase RESOURCE_TABLE_POPULATED. | | analyticsTableType (type de tableau analytique) | Voir la colonne "Type de tableau" dans le tableau "Phases, types de tableaux et tableaux temporaires" ci-dessous. | Le type de tableau analytique pour lequel le script SQL doit être appelé. Ceci ne s'applique qu'aux crochets définis avec la phase ANALYTICS_TABLE_POPULATED. | @@ -2496,7 +2498,7 @@ Tableau : Champs des crochets de tableaux analytiques La phase *ANALYTICS_TABLE_POPULATED* a lieu après le remplissage du tableau analytique, mais avant la création des index et le remplacement du tableau temporaire par le tableau principale. Le script SQL va désormais faire référence au tableau analytique temporaire, par exemple *analytics_temp*, *analytics_completeness_temp*, *analytics_event_temp_ebayegv0exc*. -Ceci s'applique également à la phase *RESOURCE_TABLE_POPULATED*, qui a lieu après le remplissage de la table de ressources, mais avant la création des index et le remplacement du tableau temporaire par le tableau principal. Le script SQL va désormais faire référence au tableau de ressources temporaire, par exemple *_orgunitstructure_temp*, *_categorystructure_temp*. +Ceci s'applique également à la phase *RESOURCE_TABLE_POPULATED*, qui a lieu après le remplissage du tableau de ressources, mais avant la création des index et le remplacement du tableau temporaire par le tableau principal. Le script SQL va désormais faire référence au tableau de ressources temporaire, par exemple *_orgunitstructure_temp*, *_categorystructure_temp*. Vous ne devez définir qu'un seul champ entre *resourceTableType* et *analyticsTableType*. Vous le ferez en fonction de la *phase* définie. @@ -2512,9 +2514,9 @@ Tableau : Phases, types de tableaux et tableaux temporaires |---|---|---| | RESOURCE_TABLE_POPULATED | ORG_UNIT_STRUCTURE (structure de l'unité d'organisation) | \_orgunitstructure\_temp | || DATA_SET_ORG_UNIT_CATEGORY |\_datasetorgunitcategory\_temp | -|| CATEGORY_OPTION_COMBO_NAME | \_categoryoptioncomboname\_temp | +|| CATEGORY_OPTION_COMBO_NAME (nom de la combinaison d'options de catégorie) | \_categoryoptioncomboname\_temp | || DATA_ELEMENT_GROUP_SET_STRUCTURE (structure de l'ensemble de groupes d'éléments de données) | \_dataelementgroupsetstructure\_temp | -|| INDICATOR_GROUP_SET_STRUCTURE |\_indicatorgroupsetstructure\_temp | +|| INDICATOR_GROUP_SET_STRUCTURE (structure de l'ensemble de groupes d'indicateurs) |\_indicatorgroupsetstructure\_temp | || ORG_UNIT_GROUP_SET_STRUCTURE (structure de l'ensemble de groupes d'unités d'organisation) | \_organisationunitgroupsetstructure\_temp | || CATEGORY_STRUCTURE (structure de la catégorie) | \_categorystructure\_temp | || DATA_ELEMENT_STRUCTURE (structure de l'élément de données) | \_dataelementstructure\_temp | @@ -2527,7 +2529,7 @@ Tableau : Phases, types de tableaux et tableaux temporaires || COMPLETENESS_TARGET (cible de complétude) | analytics\_completenesstarget\_temp | || ORG_UNIT_TARGET (cible de l'unité d'organisation) | analytics\_orgunittarget\_temp | || ÉVÉNEMENT | analytics\_event\_temp\_{program-uid} | -|| INSCRIPTION | analytics\_enrollment\_temp\_{program-uid} | +|| ENROLLMENT | analytics\_enrollment\_temp\_{program-uid} | || VALIDATION_RESULT (résultat de validation) | analytics\_validationresult\_temp | ### Création de crochets { #webapi_create_analytics_table_hook } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md index 98358579..15510c97 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Applications { #apps } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md index a746bea1..fc785098 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/audit.md" revision_date: '2024-06-24' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Audit { #audit } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md index 0f15bcb4..62a77944 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Approbation des données { #data-approval } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md index 8c6fae67..6df19482 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Saisie de données { #data-entry } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md index 38d3a21b..9608b097 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-exchange.md" revision_date: '2024-09-18' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Échange de données { #data-exchange } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md index dec923c8..6b070ac3 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data.md" revision_date: '2024-05-23' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Données { #data } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md index 7676f179..6f68ef8e 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Magasin de données { #data-store } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md index f3a43928..71f55468 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-validation.md" revision_date: '2024-03-13' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Validation des données { #data-validation } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md index 2c9c657c..8473e6bb 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Adresses électronique { #email } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md index 84311cff..f029b8e5 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md index 129fb9b5..a13bd30f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # I18n { #i18n } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md index 6d1ad989..ea430596 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Aperçu { #webapi } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md index 7f4e929f..63058078 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Maintenance { #maintenance } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md index 8534741c..652a680b 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Messagerie { #messaging } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md index ed288aca..9781a5eb 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Métadonnées Gist API { #gist_api } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index ff2793e5..8964270f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Metadata { #webapi_metadata } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md index 7526bc6f..8a9a8eec 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Profil d'unité d'organisation { #org_unit_profile } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md index 6b5037d6..30e7759f 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md index 00f71f43..8e1f0eed 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/route.md" revision_date: '2024-05-15' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Route { #route } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md index 3d30f83e..5eec27ff 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Programmation { #webapi_scheduling } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md index b2ca52fe..ceae65b5 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Paramètres et configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md index e0a55cd9..302da677 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Partage { #sharing } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md index 7c733fac..635f3d21 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # SMS { #sms } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md index 2d782911..c2360438 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Synchronization { #webapi_synchronization } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index b14fd4d1..ec50aea7 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Tracker { #webapi_tracker } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md index 0cc9f4dc..9d00366a 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Utilisateurs { #users } diff --git a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md index 96883366..af3a227a 100644 --- a/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md +++ b/projects/docs-full-site/fr/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/visualizations.md" revision_date: '2024-03-05' tags: -- Développement - Version Master de DHIS2 Central +- Développement --- # Visualisations { #visualizations } diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-HMIS__DESIGN__hiv-prevention-dashboards-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-HMIS__DESIGN__hiv-prevention-dashboards-md index 076b8bcd..c9b2bfa3 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-HMIS__DESIGN__hiv-prevention-dashboards-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-HMIS__DESIGN__hiv-prevention-dashboards-md @@ -5,33 +5,33 @@ tags: - Implémentation --- -# HIV Prevention Dashboards & Datasets { #hiv-prev-dashboards-datasets } +# Tableaux de bord et ensembles de données sur la prévention du VIH { #hiv-prev-dashboards-datasets } -## Prevention Dashboards { #prevention-dashboards } +## Tableaux de bord sur la prévention { #prevention-dashboards } -Thematic dashboards for monitoring various aspects of HIV prevention programming have been developed based on the core indicators included in WHO’s 2022 [*Consolidated guidelines on person-centred HIV strategic information*](https://www.who.int/publications/i/item/9789240055315). Standard dashboard visualizations developed with WHO’s guidance can be rendered at national or sub-national levels depending on user configuration. Dashboards are served entirely by DHIS2 *indicators* as described in the next section. The following dashboards are available for routine analysis of HIV prevention activities. +Des tableaux de bord thématiques pour le suivi de divers aspects des programmes de prévention du VIH ont été élaborés sur la base des indicateurs de base inclus dans les [*Directives consolidées sur l'information stratégique sur le VIH centrée sur la personne*] (https://www.who.int/publications/i/item/9789240055315) de 2022 de l'OMS. Les tableaux de bord standard élaborés selon les directives de l'OMS peuvent être affichés au niveau national ou infranational, selon la configuration de l'utilisateur. Les tableaux de bord sont entièrement alimentés par les *indicateurs* de DHIS2, comme décrit dans la prochaine section. Les tableaux de bord suivants sont disponibles pour l'analyse de routine des activités de prévention du VIH. -### [HIV Prevention - 01. HTS: HIV testing services](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/qpAgYKOLJam) { #hiv-prevention-01-hts-hiv-testing-serviceshttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlqpagykoljam } +### [Prévention du VIH - 01. HTS : services de dépistage du VIH](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/qpAgYKOLJam) { #hiv-prevention-01-hts-hiv-testing-serviceshttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlqpagykoljam } -Test volume, distribution & test positivity +Volume, répartition et positivité des tests -![HTS dashboard](resources/images/hiv_prev_dash_0101.png) +![Tableau de bord HTS](resources/images/hiv_prev_dash_0101.png) -Individuals testing positive by age, gender, key population & geographic distribution +Les personnes dont le test est positif par âge, par sexe, par population clé et par répartition géographique -![HTS dashboard2](resources/images/hiv_prev_dash_0102.png) +![Tableau de bord HTS 2](resources/images/hiv_prev_dash_0102.png) -Self testing, partner testing and self-testing kit distirbution +Autodépistage, dépistage des couples et distribution de kits d'autodépistage -![HTS dashboard3](resources/images/hiv_prev_dash_0102.png) +![Tableau de bord HTS 3](resources/images/hiv_prev_dash_0102.png) -### [HIV Prevention - 02. PrEP: Pre-exposure prophylaxis](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/P7BbrjAEbJR) { #hiv-prevention-02-prep-pre-exposure-prophylaxishttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlp7bbrjaebjr } +### [Prévention du VIH - 02. PrEP : Prophylaxie pré-exposition](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/P7BbrjAEbJR) { #hiv-prevention-02-prep-pre-exposure-prophylaxishttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlp7bbrjaebjr } -PrEP recipients & PrEP coverage +Bénéficiaires de la PrEP et couverture de la PrEP -![PrEP dashboard1](resources/images/hiv_prev_dash_0201.png) +![Tableau de bord 1 du PrEP](resources/images/hiv_prev_dash_0201.png) -PrEP coverage (program vs population) and PrEP volume +Couverture de la PrEP (programme vs population) et volume de la PrEP ![PrEP dashboard3](resources/images/hiv_prev_dash_0202.png) @@ -109,7 +109,7 @@ Visualizations in this dashboard combine data visualizations from all types of p ### [HIV Prevention - 10. District](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/XJF6HzJOmXe) { #hiv-prevention-10-districthttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlxjf6hzjomxe } -Visualizations in this dashboard are optimized for district level programme staff, combining data visualizations from all types of prevention activities. District dashboards allow district staff to compare metrics across service delivery sites. +Les visualisations de ce tableau de bord sont optimisées pour le personnel du programme au niveau du district et combinent des visualisations de données provenant de tous les types d'activités de prévention. Les tableaux de bord de district permettent au personnel de district de comparer les mesures entre les sites de prestation de services. ![District Prevention dashboard1](resources/images/hiv_prev_dash_1001.png) diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-dashboards-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-dashboards-md index 076b8bcd..c9b2bfa3 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-dashboards-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-dashboards-md @@ -5,33 +5,33 @@ tags: - Implémentation --- -# HIV Prevention Dashboards & Datasets { #hiv-prev-dashboards-datasets } +# Tableaux de bord et ensembles de données sur la prévention du VIH { #hiv-prev-dashboards-datasets } -## Prevention Dashboards { #prevention-dashboards } +## Tableaux de bord sur la prévention { #prevention-dashboards } -Thematic dashboards for monitoring various aspects of HIV prevention programming have been developed based on the core indicators included in WHO’s 2022 [*Consolidated guidelines on person-centred HIV strategic information*](https://www.who.int/publications/i/item/9789240055315). Standard dashboard visualizations developed with WHO’s guidance can be rendered at national or sub-national levels depending on user configuration. Dashboards are served entirely by DHIS2 *indicators* as described in the next section. The following dashboards are available for routine analysis of HIV prevention activities. +Des tableaux de bord thématiques pour le suivi de divers aspects des programmes de prévention du VIH ont été élaborés sur la base des indicateurs de base inclus dans les [*Directives consolidées sur l'information stratégique sur le VIH centrée sur la personne*] (https://www.who.int/publications/i/item/9789240055315) de 2022 de l'OMS. Les tableaux de bord standard élaborés selon les directives de l'OMS peuvent être affichés au niveau national ou infranational, selon la configuration de l'utilisateur. Les tableaux de bord sont entièrement alimentés par les *indicateurs* de DHIS2, comme décrit dans la prochaine section. Les tableaux de bord suivants sont disponibles pour l'analyse de routine des activités de prévention du VIH. -### [HIV Prevention - 01. HTS: HIV testing services](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/qpAgYKOLJam) { #hiv-prevention-01-hts-hiv-testing-serviceshttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlqpagykoljam } +### [Prévention du VIH - 01. HTS : services de dépistage du VIH](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/qpAgYKOLJam) { #hiv-prevention-01-hts-hiv-testing-serviceshttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlqpagykoljam } -Test volume, distribution & test positivity +Volume, répartition et positivité des tests -![HTS dashboard](resources/images/hiv_prev_dash_0101.png) +![Tableau de bord HTS](resources/images/hiv_prev_dash_0101.png) -Individuals testing positive by age, gender, key population & geographic distribution +Les personnes dont le test est positif par âge, par sexe, par population clé et par répartition géographique -![HTS dashboard2](resources/images/hiv_prev_dash_0102.png) +![Tableau de bord HTS 2](resources/images/hiv_prev_dash_0102.png) -Self testing, partner testing and self-testing kit distirbution +Autodépistage, dépistage des couples et distribution de kits d'autodépistage -![HTS dashboard3](resources/images/hiv_prev_dash_0102.png) +![Tableau de bord HTS 3](resources/images/hiv_prev_dash_0102.png) -### [HIV Prevention - 02. PrEP: Pre-exposure prophylaxis](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/P7BbrjAEbJR) { #hiv-prevention-02-prep-pre-exposure-prophylaxishttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlp7bbrjaebjr } +### [Prévention du VIH - 02. PrEP : Prophylaxie pré-exposition](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/P7BbrjAEbJR) { #hiv-prevention-02-prep-pre-exposure-prophylaxishttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlp7bbrjaebjr } -PrEP recipients & PrEP coverage +Bénéficiaires de la PrEP et couverture de la PrEP -![PrEP dashboard1](resources/images/hiv_prev_dash_0201.png) +![Tableau de bord 1 du PrEP](resources/images/hiv_prev_dash_0201.png) -PrEP coverage (program vs population) and PrEP volume +Couverture de la PrEP (programme vs population) et volume de la PrEP ![PrEP dashboard3](resources/images/hiv_prev_dash_0202.png) @@ -109,7 +109,7 @@ Visualizations in this dashboard combine data visualizations from all types of p ### [HIV Prevention - 10. District](https://demos.dhis2.org/hmis/dhis-web-dashboard/index.html#/XJF6HzJOmXe) { #hiv-prevention-10-districthttpsdemosdhis2orghmisdhis-web-dashboardindexhtmlxjf6hzjomxe } -Visualizations in this dashboard are optimized for district level programme staff, combining data visualizations from all types of prevention activities. District dashboards allow district staff to compare metrics across service delivery sites. +Les visualisations de ce tableau de bord sont optimisées pour le personnel du programme au niveau du district et combinent des visualisations de données provenant de tous les types d'activités de prévention. Les tableaux de bord de district permettent au personnel de district de comparer les mesures entre les sites de prestation de services. ![District Prevention dashboard1](resources/images/hiv_prev_dash_1001.png) diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-tracker-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-tracker-md index 2b4d336c..47b01d13 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-tracker-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__HIV__HIV-PREVENTION__DESIGN__hiv-prevention-tracker-md @@ -411,42 +411,42 @@ Plusieurs indicateurs de couverture des lignes directrices de l'OMS relatives à - PRV.3 Couverture de la PrEP - HTS.7 HTS linkage to prevention -- HTS.8 HIV retesting coverage denominators +- HTS.8 Dénominateurs de la couverture des nouveaux tests VIH -Calculating a client’s eligibility for categorization of substantial risk is based on the WHO’s SI guideline. These data on HIV prevention demand can be used to derive denominators for a range of indicators examining the population of individuals accessing services (see section 2.4 of WHO, 2022). +Pour déterminer si un client peut être classé dans la catégorie de risque élevé, il faut se référer aux lignes directrices de l'OMS relative à l'information stratégique. Ces données sur la demande de services de prévention du VIH peuvent être utilisées pour obtenir des dénominateurs pour une série d'indicateurs qui examinent la population ayant accès aux services (voir la section 2.4 de l'OMS, 2022). -![WHO guideline on for indicating substantial risk](resources/images/substantial_risk.png) +![Ligne directrice de l'OMS sur l'indication d'un risque élevé](resources/images/substantial_risk.png) -The following program indicators are calculated to provide denominators for the relevant coverage WHO indicators. +Les indicateurs de programme suivants sont calculés pour fournir des dénominateurs aux indicateurs de couverture de l'OMS. -| UID | DHIS2 Name | +| UID | Nom DHIS2 | | ----------- | ------------------------------------------------------------ | -| pbkiUBVI6jk | HIV PREV - HIV negative clients with substantial risk | -| GCFreP95zUO | HIV PREV - Clients with substantial risk retested within 12 months after receiving a negative HIV test result, monthly | -| PLsp1dpY7jp | HIV PREV - HIV negative clients with substantial risk (last 12 months), monthly | -| aaRiVYd3Nqg | HIV PREV - Clients with substantial risk retested after receiving a negative HIV test result, yearly | +| pbkiUBVI6jk | HIV PREV - Clients séronégatifs présentant un risque élevé d'infection | +| GCFreP95zUO | VIH PREV - Les clients présentant un risque élevé subissent un nouveau test dans les 12 mois suivant un résultat négatif au test VIH, tous les mois. | +| PLsp1dpY7jp | HIV PREV - Clients séronégatifs présentant un risque élevé d'infection (12 derniers mois), tous les mois | +| aaRiVYd3Nqg | VIH PREV - Les clients présentant un risque élevé d'infection subissent un nouveau test après avoir reçu un résultat négatif au test VIH, tous les ans. | #### Notable program indicator configuration { #notable-program-indicator-configuration } **PRV.6 Achèvement de la PEP** -The denominator is a program indicator of type EVENT in which we need to count all the clients that are due to finish their course of PEP, based on the assigned DE value ‘HIV - PEP: Due date’ [P9mYEN2N9wB]. +Le dénominateur est un indicateur de programme de type ÉVENEMENT dans lequel nous devons compter tous les clients qui doivent terminer leur cure de PEP, sur la base de la valeur attribuée à l'élément de données "VIH - PEP : Date d'échéance" [P9mYEN2N9wB]. **PRV.7 VIH chez les bénéficiaires de la PEP** -The numerator is a program indicator of type EVENT in which we count the number of clients that have received a positive HIV result within the three months after the last PEP initiation, based on the assigned DE value for ‘HIV - PEP: Last PEP initiation date’ [ju1A4XKItfG]. +Le numérateur est un indicateur de programme de type ÉVENEMENT dans lequel nous comptons le nombre de clients qui ont reçu un résultat positif au VIH dans les trois mois suivant la dernière PEP, sur la base de la valeur attribuée à l'élément de données "VIH - PEP : Date de la dernière PEP" [ju1A4XKItfG]. **PRV.9 Accès régulier au PES (Programme d'échange de seringues)** -The numerator is a program indicator of type EVENT in which we count the number of clients regularly accessing (within 30 days from a visit to another one) an NSP service. The numerator is based on the assigned value of the Boolean (Y/N) data element ‘HIV - NSP: Regular access’ [wuzgcIPtyzn], which captures the number of events where days between the current visit and previous visit is less than 30 days. +Le numérateur est un indicateur de programme de type ÉVENEMENT dans lequel nous comptons le nombre de clients qui bénéficient régulièrement (dans les 30 jours d'une visite à une autre) d'un service de PES. Le numérateur est basé sur la valeur attribuée à l'élément de données booléen (O/N) "VIH - PES : Accès régulier" [wuzgcIPtyzn], qui capture le nombre d'événements où le délai entre la visite actuelle et la visite précédente est inférieur à 30 jours. -**PRV.11 OAMT(Opioid agonist maintenance treatment) coverage** +**PRV.11 Couverture de l'OAMT (traitement d'entretien par agonistes opioïdes)** -The WHO indicator definition states that the indicator reports the “Proportion of opioid dependent people receiving OAMT at a specific date”. The “specific date” used in the calculation of the numerator is ;therefore the information that this indicator will provide will be up to today. +La définition de l'indicateur de l'OMS indique qu'il rapporte la "Proportion de personnes dépendantes aux opioïdes et qui bénéficient d'un OAMT à une date spécifique". La "date spécifique" utilisée dans le calcul du numérateur est .Ainsi, les informations que cet indicateur fournira seront à jour. -A client is considered as an opioid dependent person if they have been clinically assessed as being opioid dependent or if they are in OAMT. +Un client est considéré comme une personne dépendante aux opioïdes s'il a été examiné cliniquement comme étant dépendant aux opioïdes ou s'il fait partie de ceux qui bénéficient de l'OAMT. -**PRV.13 OAMT minimum duration** +**PRV. 13 Durée minimale de l'OAMT** The denominator definition states that the program indicator should count the “Number of people starting OAMT during defined cohort recruitment period”. The “cohort recruitment period” has been set-up as the “last 12 months” for both denominator and numerator (see more on period boundaries in the section on **Implementation Considerations & Local Adaptation**) diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md index 54d27e39..2ef0d8db 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md @@ -137,11 +137,11 @@ Exemple: | UID | Nom | Type | Niveaux d'unité d'organisation | Mapping guidance | |---------------|-------------------------------------------------------------------------|-----------------------------|---------------------------|-------------------------------------| -| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Region | +| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Région | | `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 4 | Établissement | -| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Region | +| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Région | | `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 4 | Établissement | -| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Region | +| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Région | | `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 4 | Établissement | | `CrxqCiQyhay` | Enrolled patients by facility (cumulative) | visualization (pivot table) | 4 | Établissement | | `PazB6GSITwK` | Missing data report | visualization (pivot table) | 4 | Établissement | diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md index 748d98e8..053e4564 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md @@ -9,15 +9,15 @@ tags: ## Note de mise à jour { #release-note } -- [Release Note](#tb-drs-release-note) +- [Note de mise à jour](#tb-ERM-release-note) ## Conception { #design } -- [Version 1.0.1](#tb-drs-design) +- [Version 1.0.1](#tb-ERM-design) ## Installation { #installation } -- [Installation Guide](#tb-drs-installation) +- [Guide d'installation](#tb-ERM-installation) ## Référence des métadonnées { #metadata-reference } diff --git a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md index e9cdf08e..d6a0ac8f 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md +++ b/projects/docs-full-site/fr/IMPLEMENT__HEALTH__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md @@ -5,7 +5,7 @@ tags: - Implémentation --- -# Release Note { #tb-drs-release-note } +# Note de mise à jour { #tb-drs-release-note } ## 1.0.2 { #102 } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index 1e0e31f3..e4ed9283 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Implémentation - DHIS core version 2.35 - Android app version 2.3.0 -- Implémentation --- # Note de mise à jour de la version 2.3 de l'application Android du DHIS2 { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index 177c9ae4..97e622a1 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Implémentation - Android app version 2.4.0 - DHIS core version 2.36 -- Implémentation --- # DHIS2 Android App version 2.4 Release Notes { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index 09a1b79f..ca1b5d16 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core version 2.37 -- Android app version 2.5.0 - Implémentation +- Android app version 2.5.0 --- # DHIS2 Android App version 2.5 Release Notes { #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md index a60a8254..1a7579aa 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.6/ReleaseNote-2.6.0.md" revision_date: '2022-04-18' tags: -- Version principale de DHIS 2.38 -- Android app version 2.6.0 - Implémentation +- Android app version 2.6.0 +- Version principale de DHIS 2.38 --- # DHIS2 Android App version 2.6 Release Notes { #dhis2-android-app-version-26-release-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index 4be345d4..ad3cd56c 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Implémentation - Android app version 2.7.0 - DHIS version 2.39 -- Implémentation --- # DHIS2 Android App version 2.7 Release Notes { #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index 71662d75..f185960b 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Application Android Version 2.8.0 -- DHIS Version 2.40 - Implémentation +- DHIS Version 2.40 +- Application Android Version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index 8bd9bb32..e59117ed 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Implémentation +- DHIS core version 2.35 --- # Note de mise à jour de la version 2.35 du DHIS { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index adbbdfe9..fc4aa315 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Implémentation +- DHIS core version 2.35 --- # Notes de mise à jour de la version 2.35 { #235-upgrade-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 93b29bfc..c808799e 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Implémentation +- DHIS core version 2.36 --- # DHIS version 2.36 Release Note { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index e3bc32f7..a0ac4a1a 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Implémentation +- DHIS core version 2.36 --- # 2.36 Upgrade Notes { #236-upgrade-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md index 7582045f..1bc881f3 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/ReleaseNote-2.38.md" revision_date: '2022-10-12' tags: -- Version principale de DHIS 2.38 - Implémentation +- Version principale de DHIS 2.38 --- # DHIS version 2.38 Release Note { #dhis-version-238-release-note } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md index 14a354c3..692cd8df 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/README.md" revision_date: '2023-08-30' tags: -- Version principale de DHIS 2.38 - Implémentation +- Version principale de DHIS 2.38 --- # 2.38 Upgrade Notes { #238-upgrade-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index 695ca09d..505f328a 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS version 2.39 - Implémentation +- DHIS version 2.39 --- # DHIS version 2.39 Release Note { #dhis-version-239-release-note } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index 95fce612..b1ce4422 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS version 2.39 - Implémentation +- DHIS version 2.39 --- # 2.39 Upgrade Notes { #239-upgrade-notes } diff --git a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 1f0e17df..9d79fb25 100644 --- a/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/fr/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS Version 2.40 - Implémentation +- DHIS Version 2.40 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..e7c5f1d1 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Audit { #audit } + +## Introduction { #introduction } + +DHIS2 prend en charge un nouveau service d'audit basé sur _Apache ActiveMQ Artemis_. Artemis est utilisé comme système de messagerie asynchrone par DHIS2. + +Une fois qu'une entité est enregistrée dans la base de données, un message d'audit sera généré et envoyé au service utilisateur de la messagerie Artemis. Le message sera ensuite traité dans un autre fil de discussion. + +Les journaux d'audit peuvent être récupérés à partir de la base de données de DHIS2. Actuellement, aucun point d'extrémité d'une interface utilisateur ou d'une API n’est disponible pour récupérer les entrées d’audit. + +Vous trouverez une explication détaillée de l'architecture du système d'audit [ici](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## Ce que nous enregistrons { #what_we_log } + +Voici la liste des opérations que nous enregistrons dans le cadre du système d'audit : + +- Opérations sur les comptes d'utilisateurs (par exemple, mais sans s'y limiter, la création, les modifications de profil) +- Opérations sur les rôles d'utilisateurs, les groupes et les groupes d'autorités +- Opérations sur les objets de métadonnées (par exemple, mais sans s'y limiter, les catégories, les unités d'organisation, les rapports) +- Opérations sur les objets suivis (par exemple, mais sans s'y limiter, les instances, les attributs, les valeurs de données) +- Configuration des tâches +- Opérations "Briser le verre" + +## Single Audit table { #audit_table } + +Toutes les entrées d'audit, à l'exception de celles liées aux entités suivies, seront sauvegardées dans un même tableau nommée `audit` + +| Colonne | Type | Description | +| --- | --- | --- | +| identifiant de l'audit | entier | Clé primaire. | +| type d'audit | text | LIRE, CRÉER, METTRE À JOUR, SUPPRIMER, RECHERCHER | +| portée de l'audit | text | MÉTADONNÉES, AGRÉGÉ, TRACKER | +| klass | text | Nom de classe Java de l’entité d’audit. | +| attributs | jsonb | Une chaîne JSON avec les attributs de l'objet audité. Exemple : `{"valueType": "TEXT", "categoryCombo": "SWQW313FQY", "domainType": "TRACKER"}`. | +| données | bytea | Chaîne JSON compressée de l'entité d'audit au format "tableau d'octets" (non lisible par l'homme). | +| créé à | horodatage sans fuseau horaire | Temps de création. | +| créé par | text | Nom d'utilisateur de l'utilisateur effectuant l'opération auditée. | +| uid | text | L'UID de l'objet audité. | +| code | text | Le code de l'objet audité. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## Audit Scope { #audit_scope } + +Une portée d'audit est une zone logique de l'application qui peut être auditée. Il existe actuellement trois portée d'audit. + +| Scope | Clé | Objets audités | +| --- | --- | --- | +| Tracker | TRACKER | Instance d'entité suivie, Valeur d'attribut d'entité suivie, inscription, Événement. | +| Métadonnées | METADATA | Tous les objets de métadonnées (par exemple, les éléments de données, les unités d'organisation). | +| Agrégées | AGGREGATE | Valeur de données agrégée. | + +## Audit Type { #audit_type } + +Un type d'audit est une action qui déclenche une opération d'audit. Actuellement, nous prenons en charge les quatre types suivants. + +| Nom | Clé | Description | +| -------- | -------- | ------------------- | +| Lire | LIRE | L'objet a été lu. | +| Créer | CREATE | L'objet a été créé. | +| Mettre à jour | METTRE À JOUR | L'objet a été mis à jour. | +| Supprimer | SUPPRIMER | L'objet a été supprimé. | +| Désactivé | DÉSACTIVÉ | Désactiver l'audit. | + +> **Attention** +> +> Le type d'audit LIRE peut générer beaucoup de données dans la base de données et avoir un impact sur les performances. + +## Audits d'entités suivies { #tracked-entity-audits } + +Les opérations sur les entités suivies telles que les instances, les attributs et les valeurs, sont stockées respectivement dans les tableaux `trackedentityinstanceaudit` (audit d'instance d'entité suivie), `trackedentityattributevalueaudit` (audit de valeur d'attribut d'entité suivie), et `trackedentitydatavalueaudit` (audit de valeur de données d'entité suivie). + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Colonne | Type | Description | +| --- | --- | --- | +| trackedentityinstanceauditid | entier | Clé primaire. | +| trackedentityinstance | text | Nom de l'instance d'entité suivie. | +| created | horodatage sans fuseau horaire | Temps de création. | +| accessible par | text | Nom d'utilisateur de l'utilisateur effectuant l'opération auditée. | +| type d'audit | text | LIRE, CRÉER, METTRE À JOUR, SUPPRIMER, RECHERCHER | +| commentaire | text | Le code de l'objet audité. | + +Ces données peuvent être récupérées via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Colonne | Type | Description | +| --- | --- | --- | +| trackedentityattributevalueauditid (Id d'audit de valeur d'attribut d'entité suivie) | entier | Clé primaire. | +| trackedentityinstanceid (Id d'instance d'entité suivie) | entier | ID de l'instance à laquelle appartient la valeur d'attribut. | +| trackedentityattributeid (ID d'attribut d'entité suivi) | entier | ID d'attribut. | +| created | horodatage sans fuseau horaire | Temps de création. | +| modifié par | text | Nom d'utilisateur de l'utilisateur effectuant l'opération auditée. | +| type d'audit | text | LIRE, CRÉER, METTRE À JOUR, SUPPRIMER, RECHERCHER | +| value | text | La valeur de l'objet audité. | +| valeur cryptée | text | La valeur cryptée si l'indicateur de confidentialité est activé. | + +Ces données peuvent être récupérées via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Colonne | Type | Description | +| --- | --- | --- | +| Id d'audit de la valeur de données de l'entité suivie | entier | Clé primaire. | +| ID d'instance de l'étape de programme | entier | ID de l'étape de programme à laquelle appartient la valeur de données. | +| Id d'élément de données | entier | ID de l'élément de données. | +| created | horodatage sans fuseau horaire | Temps de création. | +| modifié par | text | Nom d'utilisateur de l'utilisateur effectuant l'opération auditée. | +| type d'audit | text | LIRE, CRÉER, METTRE À JOUR, SUPPRIMER, RECHERCHER | +| value | text | La valeur de l'objet audité. | +| fourni ailleurs | bool | Indique si l'utilisateur a fourni la valeur ailleurs ou non. | + +Ces données peuvent être récupérées via [API](#webapi_tracked_entity_data_value_audits). + +## Briser le verre { #breaking-the-glass } + +Les fonctionnalités "Briser le verre" permettent d'accéder aux enregistrements auxquels un utilisateur de DHIS2 n'a pas accès dans des circonstances particulières. En conséquence, les utilisateurs doivent fournir par écrit une raison pour justifier leur accès à ces enregistrements. + +Vous trouverez une vidéo explicative sur notre chaîne Youtube [ici](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +L'événement "briser le verre" est stocké dans le tableau `programtempownershipaudit`, présenté ci-dessous : + +| Colonne | Type | Description | +| --- | --- | --- | +| programtempownershipauditid | entier | Clé primaire. | +| Id du programme | entier | ID du programme auquel appartient l’entité suivie. | +| trackedentityinstanceid (Id d'instance d'entité suivie) | entier | ID de l'instance à laquelle appartient la valeur d'attribut. | +| created | horodatage sans fuseau horaire | Temps de création. | +| accessible par | text | Nom d'utilisateur de l'utilisateur effectuant l'opération auditée. | +| raison | text | La raison telle qu'insérée dans la boîte de dialogue. | + +## Setup { #audit_configuration } + +Le système d'audit est activé par défaut pour les portées et types suivants. + +Scopes (case sensitive): + +- `READ` +- `CRÉER` +- `METTRE À JOUR` +- `SUPPRIMER` +- `RECHERCHE` +- `DISABLED` + +Types : + +- `MÉTADONNÉES` +- `TRACKER` +- `AGRÉGÉ` + +Cela signifie qu'**aucune action n'est requise** pour activer le système d'audit par défaut. Le paramètre par défaut équivaut à la configuration `dhis.conf` suivante. + +```propriétés +audit.metadata = CRÉER; METTRE À JOUR; SUPPRIMER +audit.tracker = CRÉER; METTRE À JOUR; SUPPRIMER +audit.aggregate = CRÉER; METTRE À JOUR; SUPPRIMER +``` + +L'audit peut être configuré à l'aide du _référentiel d'audit_. Le référentiel d'audit représente les combinaisons valides de portées et de types, et est défini avec les propriétés suivantes dans le fichier de configuration `dhis.conf`. Chaque propriété accepte une liste de types d'audit délimitée par un point-virgule (`;`). + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis] (https://activemq.apache.org/components/artemis/documentation/) est un projet open source qui vise à développer un système de messagerie asynchrone multi-protocoles, intégrable, très performant et en grappe. Il figure dans DHIS2 depuis la version 2.31 et est utilisé comme système de consommation des journaux d'audit. + +Par défaut, DHIS2 démarrera un serveur Artemis intégré, qui est utilisé en interne par l'application pour stocker et accéder aux événements d'audit. + +Cependant, si vous disposez déjà d'un serveur Artemis, vous pouvez vous y connecter depuis DHIS2 pour envoyer des événements d'audit, tel que décrit dans notre [documentation officielle](#webapi_amqp_configuration) : dans cette configuration, les événements d'audit circuleront de DHIS2 vers le système Artemis externe. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) est la bibliothèque de journalisation de DHIS2 par défaut, utilisée pour gérer les messages de sorties. Elle est utilisée pour contrôler quels événements sont enregistrés dans quel fichier. + +L'application fournit un [fichier de configuration par défaut de log4j2] (https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), qui indique quelles informations doivent être enregistrées et où (console). DHIS2 se charge ensuite d'importer ce fichier et de journaliser les instructions, tel que décrit dans la [classe de configuration log4j](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), c'est-à-dire qu'il redirige la sortie de la console vers les fichiers. + +De la version 2.36 à la version 2.38, le fichier journal d'audit `dhis-audit.log` fait l'objet d'une rotation [tous les jours à minuit](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +Vous trouverez un exemple de configuration personnalisée de log4j2 [ici]() : l'exemple montre comment configurer DHIS2 pour qu'il enregistre tous les journaux dans un dispositif de stockage externe, effectue une rotation hebdomadaire et les conserve pendant 30 jours. Veuillez lire la [section sur la journalisation des applications](#install_application_logging) pour savoir comment utiliser cette fonction. + +## Exemples { #examples } + +Cette section montre comment configurer le système d'audit dans `dhis.conf`. + +Pour activer l'audit de création et de mise à jour des métadonnées et du tracker uniquement : + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +Pour auditer uniquement les objets liés au tracker "créer" et "supprimer" : + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +Pour désactiver complètement l'audit pour toutes les portées : + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +Nous recommandons de conserver les pistes d'audit dans un fichier, comme c'est le cas par défaut dans la version 2.38. Pour les versions plus anciennes, la configuration suivante enregistre les journaux d'audit dans le fichier `$DHIS2_HOME/logs/dhis-audit.log` : + +```properties +audit.database = off +audit.logger = on +``` + +Pour stocker les données d'audit dans la base de données, ajoutez ce qui suit à votre fichier `dhis.conf` (par défaut jusqu'à la version 2.38) : + +```properties +audit.database = on +audit.logger = off +``` + +Pour extraire les journaux du tableau `audit`, vous pouvez utiliser [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data -extracteur) à partir du système sur lequel DHIS2 fonctionne : + +``` +$ python extract_audit.py extract +``` + +Veuillez lire la documentation pour plus de détails. + +Pour analyser les entrées du fichier journal, vous pouvez utiliser le script python suivant : + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Ou utilisez `jq` comme suit : + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +Pour sélectionner des événements à une date spécifique, vous pouvez utiliser `jq` comme suit (dans cet exemple, nous sélectionnons tous les événements survenus entre janvier 2022 et fin juin 2022) : + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Idem avec `extract_audit` : + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..a5044774 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Présentation { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + paramètre du segment + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuration { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..9a95ead6 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Deployment Architectures { #deployment-architectures } + +## Introduction { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Description| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..28bc2a42 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introduction { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Les versions ultérieures de DHIS2 nécessitent les versions logicielles suivantes pour fonctionner. + +1. Un système d'exploitation pour lequel un Java JDK ou JRE version 8 ou 11 existe. Linux est recommandé. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. Extension de base de données PostGIS version 2.2 ou plus. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Tâche| Description | Statut | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Mois|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Formation|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|Juillet|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..dc3fb4fe --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Gestion +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Démarrer le serveur + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/fr/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/fr/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..2ff60483 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Gestion +--- + +# Utilisation de passerelles pour l'établissement de rapports SMS { #sms_report_sending } + +DHIS2 prend en charge la réception des données par [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html). Cependant, le SMS doit être compressé. L'application Android de DHIS2 fait office de couche transparente pour l'envoi des informations par SMS où l'utilisateur n'a pas à se préoccuper de la rédaction du SMS. Pour envoyer des SMS à l'aide de l'application Android, la passerelle SMS doit être correctement configurée. Cette section explique les différentes options disponibles et comment procéder. + +## Sending SMS { #sms_report_sending } + +Avant toute chose, il est important de préciser que cette section traite principalement de la configuration de la **réception de SMS** (des appareils mobiles vers le serveur DHIS2). Cette configuration est nécessaire lorsque l'on envisage d'utiliser l'application pour envoyer (synchroniser) par SMS, les informations enregistrées dans l'application vers le serveur DHIS2. Dans l'application, cette configuration peut être effectuée dans *Paramètres* > *Paramètres SMS*. + +L’envoi de SMS, du serveur DHIS2 vers les appareils mobiles, est relativement simple à configurer. S'il s'agit juste d'envoyer des notifications aux téléphones des utilisateurs depuis DHIS2 lorsque certains événements se produisent (messagerie, seuils, etc.), seul l'envoi de SMS est requis. + +Tout ceci peut être configuré sur la page de configuration du service SMS dans la [section Configuration mobile](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +Les fournisseurs habituels tels que *Bulk SMS* et *Clickatell* sont pris en charge par défaut, et ces deux fournisseurs permettent d'envoyer des SMS vers des numéros de la plupart des pays. + +Notez également qu'il est possible d'utiliser différentes passerelles SMS pour l'envoi et la réception de SMS. Ainsi, même si vous mettez en place une des solutions ci-dessous pour la réception de SMS, vous pouvez toujours utiliser l'une des solutions susmentionnées pour l'envoi. + +## Utilisation d'un appareil Android comme passerelle SMS { #sms_report_android_gateway } + +La solution la plus simple, et de loin, consiste à utiliser un appareil Android comme passerelle SMS. Tout téléphone ou tablette fonctionnant sous Android OS (4.4, Kitkat ou supérieur) devrait faire l'affaire. L'appareil aura besoin d'une connexion internet permanente pour transférer les messages vers votre serveur DHIS2 et d'une carte SIM pour recevoir les SMS. + +Il vous faudra télécharger et installer l'application Passerelle SMS Android de DHIS2 sur l'appareil mobile. Vous trouverez une liste des [versions] disponibles à cette adresse : (https://github.com/dhis2/dhis2-sms-android-gateway/releases). Vous pourrez y télécharger le fichier APK le plus récent et l'installer. Des instructions sont fournies sur la page de l'application elle-même, mais il suffit de lancer l'application et d'entrer les informations de votre serveur DHIS2 (URL, nom d'utilisateur et mot de passe). + +Une fois l'application installée et opérationnelle, entrez le numéro de téléphone de cette passerelle sur la page de configuration des appareils mobiles qui utilisent l'application DHIS2 Capture. Ainsi, lorsque des SMS seront envoyés à partir de ces appareils, ils sont reçus par la passerelle et automatiquement transmis au serveur DHIS2 où ils sont traités. + +L'utilisation de cette passerelle est idéale quand il s'agit de tester la fonctionnalité SMS, mais elle ne doit pas être utilisée pour la production, car elle présente plusieurs défauts, tels que l'impossibilité de gérer des SMS en plusieurs parties ou des SMS simultanés, et elle peut même être tuée par le système d'exploitation Android. Par conséquent, si vous envisagez de passer un projet au niveau de la production, il serait nécessaire d'étudier l'une des solutions plus permanentes et plus fiables pour les passerelles présentées ci-dessous. + +### Envoi de SMS à l'aide d'une passerelle Android { #sending-sms-using-an-android-device-gateway } + +Cette option n'est actuellement ni prise en charge ni documentée. + +## Passerelles SMS dédiées { #sms_report_dedicated_gateway } + +Cette section traite de l'utilisation de passerelles SMS plus permanentes et dédiées, ainsi que des options disponibles. Chacune des options ci-dessous implique qu'un fournisseur (ou vous-même) dispose d'une connexion SMPP avec un opérateur téléphonique dans le pays et utilise cette connexion pour recevoir des SMS et les transmettre à votre serveur DHIS2 via Internet à l'aide du protocole HTTP. + +Ces solutions peuvent utiliser un **numéro long** ou un **code court**. Un numéro long est un numéro de téléphone mobile standard du type que la plupart des particuliers utilisent, par exemple +61 400123123. Un code court est simplement un numéro court, tel que 311. La configuration et la gestion des codes courts sont généralement plus coûteuses. + +### S'assurer que les SMS entrants vers le serveur DHIS2 sont au bon format { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +Pour envoyer des SMS vers un serveur DHIS2 via l'API, utilisez l'URL suivante : *https:///api/sms/inbound* + +Dans la version 2.34 et les versions antérieures de DHIS2, ce point d'extrémité exige que le format des SMS entrants soient très spécifique, c'est-à-dire que le message lui-même doit être un paramètre appelé "texte" et le numéro de téléphone de l'expéditeur doit être un paramètre appelé "expéditeur". + +Lorsque vous utilisez toutes les options de passerelle SMS ci-dessous, et que vous les configurez pour transmettre les SMS à un autre service Web, elles auront chacune leur propre format, lequel sera différent de celui attendu par l'API DHIS2. Voilà pourquoi il est nécessaire de les reformater avant de les envoyer au serveur DHIS2. + +Une option consiste à exécuter simplement votre propre service Web, qui reçoit le SMS du fournisseur de la passerelle, le reformate au format requis pour DHIS2 et le transmet à votre API DHIS2. Un tel service devrait être écrit par un développeur de logiciels. + +Dans la version 2.35 de DHIS2, il est prévu de prendre en charge ces cas avec un système de template pour les SMS entrants, de sorte que vous puissiez spécifier le format des messages qui seront envoyés depuis votre fournisseur. De cette manière, vous pouvez configurer le serveur DHIS2 pour qu'il accepte les SMS entrants de tout autre fournisseur de passerelle SMS. Ces derniers pourrons alors envoyer directement des SMS entrants à l'API DHIS2, sans avoir besoin d'un service Web de formatage. + +### Utilisation de RapidPro { #using-rapidpro } + +[RapidPro] (https://rapidpro.io/) est un service géré par l'UNICEF dans plus de 50 pays à travers le monde. Il s'agit d'un ensemble de logiciels qui travaille avec les opérateurs téléphoniques nationaux pour permettre aux organisations de concevoir des solutions SMS pour leurs projets, tels que des rapports SMS ou des campagnes de sensibilisation. + +Le service RapidPro implique une connexion SMPP avec un ou plusieurs opérateurs téléphoniques nationaux, généralement par le biais d'un code court, qui peut être dédié aux activités liées à la santé des ONG. Il est alors possible d'ajouter un webhook (crochet Web) pour que les SMS entrants soient transmis à un autre service Web, tel que le service Web de formatage décrit ci-dessus. Si le code court est également utilisé à d'autres fins, il peut être nécessaire d'ajouter les numéros de téléphone de vos appareils d'établissement de rapports à un groupe distinct, de sorte que seuls les SMS entrants provenant de ces appareils soient transmis au webhook. + +RapidPro est actuellement opérationnel dans près de la moitié des pays qui utilisent DHIS2 ou qui sont à une phase pilote. Avant d'envisager l'une des solutions ci-dessous, qui peuvent être coûteuses en termes de temps et d'argent, il convient de prendre contact avec l'Unicef pour voir si RapidPro est disponible et s'il peut être utilisé pour l'établissement de rapports sur la santé dans votre pays. + +### Entreprises fournisseurs de passerelles SMS{ #using-commercial-sms-gateway-providers } + +Les entreprises fournisseurs de passerelles SMS mentionnés dans la section « Envoi de SMS » ci-dessus sont généralement en mesure d'*envoyer* des SMS dans la plupart des pays, mais ne peuvent en *recevoir* que dans un nombre limité de pays. La majorité des pays dans lesquels ils prennent en charge la réception de SMS n'utilisent pas le système DHIS2. Parmi les pays qui utilisent DHIS2, la plupart disposent déjà d'un service RapidPro opérationnel. + +Toutefois, il est utile de se renseigner sur les options commerciales disponibles pour votre pays. Dans certains pays, il existe de petites entreprises nationales qui fournissent des services SMS et qui disposent de connexions SMPP avec les opérateurs téléphoniques que vous pouvez contacter. + +### Utilisation des opérateurs téléphoniques { #using-phone-carriers-directly } + +Si aucune des solutions ci-dessus n'est disponible, vous devrez vous adresser directement aux opérateurs téléphoniques de votre pays. La première question à leur poser est de savoir s'ils connaissent des entreprises qui exploitent des connexions SMPP avec eux et que vous pourriez contacter. + +Sinon, comme dernière option, vous devrez envisager de configurer et de gérer votre propre connexion SMPP avec l'opérateur téléphonique. Cependant, tous ne proposent pas un tel service. + +Il vous faudra faire fonctionner votre propre serveur avec un logiciel tel que [Kannel] (https://www.kannel.org/), qui se connecte (généralement via un VPN) à un service SMPP fonctionnant sur le réseau de l'opérateur téléphonique. Ainsi, tout SMS entrant pour le numéro long ou le code court configuré est envoyé par l'opérateur téléphonique à votre serveur Kannel et vous pouvez ensuite transférer ces messages tel que décrit plus haut. + +### Réception de SMS concaténés ou en plusieurs parties { #receiving-concatenated-or-multipart-sms } + +Lors de la synchronisation des données par SMS avec l'application DHIS2 Android, un format compressé est utilisé afin de réduire au maximum le volume du message (caractères du texte). Malgré cela, il arrive souvent qu'un message dépasse la limite de 160 caractères des SMS standard. Sur la plupart des appareils mobiles modernes, ces messages seront toujours envoyés sous la forme d'un SMS concaténé ou en plusieurs parties, et reçus comme un seul message. + +Lors de la sélection d'une passerelle SMS, il est important de confirmer que l'opérateur téléphonique utilisé prend en charge les SMS concaténés. La plupart d'entre eux le prendront en charge, mais il est important de confirmer que la fonctionnalité SMS ne fonctionnera pas si les SMS sont fractionnés. Cela repose sur une fonction appelée UDH (User Data Header). Lorsque vous discutez avec les fournisseurs, cherchez à savoir si cette fonction est prise en charge. + diff --git a/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..25e3e1d8 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..14788ed8 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,319 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Création d'un utilisateur pour faire fonctionner DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Important** +> +> Vous ne devez pas opérer le serveur DHIS2 en tant qu'utilisateur privilégié, par exemple super-utilisateur. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Création du répertoire de configuration { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## Installation de PostgreSQL { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Installation de Java { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Installation +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Vérifiez que votre installation est correcte en appelant : +``` +java -version +``` + +## Configuration de DHIS2 { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +Un fichier de configuration pour PostgreSQL correspondant à la configuration ci-dessus a les propriétés suivantes : + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Installation de Tomcat et DHIS2 { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` définit l'emplacement de l'installation du JDK. + * `JAVA_OPTS` transmet les paramètres à la JVM. + * `-Xms` définit l'allocation initiale de mémoire à l'espace de mémoire du tas Java. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Fonctionnement de DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..ec1a7569 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/fr/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/fr/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..17c89fa3 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Cloud Hosting { #cloud-hosting } + +## Introduction { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/fr/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/fr/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..297b2f2d --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Physical Hosting { #physical-hosting } + +## Introduction { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/fr/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/fr/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..bab3e1e9 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Conditions requises { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusion { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/fr/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/fr/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..5f699fec --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,151 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +# Configuration du cluster de serveur Web { #install_web_server_cluster_configuration } + +Cette section décrit comment configurer l'application DHIS 2 pour qu'elle s'exécute dans un cluster. + +# Présentation du clustering { #install_cluster_configuration_introduction } + +Le clustering est une technique courante permettant d'améliorer l'évolutivité et la disponibilité du système. Elle consiste à installer plusieurs serveurs web, par exemple des instances Tomcat, pour qu'ils servent une seule application. Le clustering permet d'*étendre* une application de manière à ce que de nouveaux serveurs puissent être ajoutés afin d'améliorer ses performances. Elle garantit également une *grande disponibilité*, car le système peut tolérer que des instances tombent en panne sans pour autant rendre le système inaccessible aux utilisateurs. + +Quelques configurations doivent être effectuées pour que DHIS 2 s'exécute dans un cluster. + +* Un entrepôt de données Redis doit être installé et les informations de connexion doivent +être fournies pour chaque instance de l'application DHIS 2 dans `dhis.conf`. + +* Les instances et les serveurs DHIS 2 doivent partager le même dossier *fichiers* utilisé pour +les applications et les téléchargements de fichiers, soit par l'intermédiaire de l'option *Stockage de fichiers cloud AWS S3*, +soit par un lecteur réseau partagé. + +* L'invalidation du cache de l'instance DHIS 2 doit être activée. + +* Un équilibreur de charge tel que nginx doit être configuré pour distribuer les requêtes Web +dans les instances du cluster. + +## Invalidation du cache de l'instance DHIS 2 avec Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 peut invalider les caches des différentes instances en écoutant les événements envoyés et émis par un serveur Redis, lorsqu'il est configuré à cet effet. + +C'est le moyen le plus simple d'activer l'invalidation du cache. Si vous prévoyez déjà d'utiliser [Redis pour la configuration du cluster de stockage de données partagé](#install_cluster_configuration_redis), le serveur Redis sera partagé pour les deux cas. + +### Prérequis { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Configuration de Redis { #redis-configuration } + +Aucune configuration spécifique dans Redis n'est nécessaire pour que l'invalidation du cache DHIS 2 fonctionne. + +Lorsque vous choisissez d'activer la configuration du cluster de stockage de données partagé avec Redis, vous partagerez la configuration de l'hôte/port Redis avec le système d’invalidation du cache. En d'autres termes, vous ne pouvez configurer qu'**un** serveur Redis partagé. + +### Configuration de DHIS 2 { #dhis-2-configuration } + +Les propriétés suivantes doivent être spécifiées dans le fichier de configuration DHIS 2 `dhis.conf` : + +```propriétés +# Configuration de l'invalidation du cache + +redis.cache.invalidation.enabled = activé + +# Configuration du Redis partagé +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Facultatif, uniquement s'il est activé sur le serveur Redis) +redis.use.ssl = vrai (Facultatif, uniquement s'il activé sur le serveur Redis) +``` + +## Configuration du cluster de stockage de données partagé Redis { #install_cluster_configuration_redis } + +Pour configurer un cluster, vous avez besoin d'un serveur Redis qui va gérer les sessions utilisateur partagées, le cache de l'application et les nœuds du cluster. + +Pour optimiser les performances, les événements *Redis Keyspace* pour les _commandes génériques_ et les _événements expirés_ doivent être activés sur le serveur Redis. Si vous utilisez un serveur Redis géré par une plateforme cloud (comme *AWS ElastiCache pour Redis* ou *Azure Cache pour Redis*), il vous faudra activer les notifications d'événements keyspace à l'aide des interfaces de console cloud respectives. Si vous configurez un serveur Redis autonome, l'activation des notifications d'événements keyspace peut être effectuée dans le fichier *redis.conf* en ajoutant ou en décommentant la ligne suivante : + +``` +notify-keyspace-events Egx +``` + +DHIS2 se connectera à Redis si la propriété de configuration *redis.enabled* dans `dhis.conf` est définie sur *activé* avec les propriétés suivantes : + +- *redis.host* : Spécifie où le serveur Redis est exécuté. La valeur par défaut est *localhost*. Obligatoire. + +- *redis.port* : Spécifie le port sur lequel le serveur Redis écoute. La valeur par défaut est *6379*. Facultatif. + +- *redis.password* : Spécifie le mot de passe d'authentification. Si un mot de passe n'est pas nécessaire, il peut rester vide. + +- *redis.use.ssl* : Spécifie si SSL est activé sur le serveur Redis. La valeur par défaut est *faux*. Facultatif. + +Lorsque Redis est activé, DHIS2 attribue automatiquement à l'une des instances en cours d'exécution le rôle de leader du cluster. L'instance leader sera utilisée pour exécuter des travaux ou des tâches programmées qui doivent être exécutés exclusivement par une instance. En option, vous pouvez configurer la propriété *leader.time.to.live.minutes* dans `dhis.conf` pour définir la fréquence à laquelle le choix du leader doit avoir lieu. Cela donne aussi une indication sur le temps nécessaire pour qu'une autre instance prenne le relais après que le leader précédent ne soit plus disponible. La valeur par défaut est 2 minutes. Notez que l'attribution d'un leader dans le cluster n'est effectuée que si Redis est activé. Ci-dessous, un exemple de fichier de configuration `dhis.conf` avec Redis activé et la fréquence du choix du leader configurée. + +```propriétés +# Configuration de Redis + +redis.enabled = activé + +# Configuration de Redis partagé +redis.host = HÔTE_REDIS +redis.port = PORT_REDIS +redis.password = MOT DE PASSE (Facultatif, uniquement s'il est activé sur le serveur Redis) +redis.use.ssl = vrai (Facultatif, uniquement s'il est activé sur le serveur Redis) + +# Facultatif, la valeur par défaut est 2 minutes +leader.time.to.live.minutes=4 +``` + +### Configuration du dossier de fichiers { #files-folder-configuration } + +DHIS 2 va stocker plusieurs types de fichiers hors de l'application elle-même, tels que des applications, des fichiers sauvegardés lors de saisies de données et des avatars d'utilisateurs. Lorsqu'il est déployé dans un cluster, l'emplacement de ces fichiers doit être partagé entre toutes les instances. Sur le système de fichiers local, l'emplacement est le suivant : + +``` +{DHIS2_HOME}/files +``` + +Ici, `DHIS2_HOME` fait référence à l'emplacement du fichier de configuration DHIS 2 tel que spécifié par la variable d'environnement DHIS 2, et `fichiers` est le dossier de fichiers immédiatement en dessous. + +Il existe deux manières d'obtenir un emplacement partagé : + +* Utiliser l'option *Stockage de fichiers cloud AWS S3*. Les fichiers seront stockés dans un +compartiment S3 qui est automatiquement partagé entre toutes les instances DHIS 2 présentes dans le cluster. +Consulter la section *Configuration de l'entrepôt de fichiers* pour obtenir des conseils. +* Configurer un dossier partagé entre toutes les instances et tous les serveurs DHIS 2 +présents dans le cluster. Sur Linux, cela peut être réalisé avec *NFS* (Network File System) +qui est un protocole de système de fichiers en réseau. Notez que seul le sous-dossier `fichiers` +sous `DHIS2_HOME` doit être partagé, pas le dossier parent. + +## Configuration de l'équilibreur de charge { #install_load_balancing } + +Lorsqu'un cluster d'instances Tomcat est installé, un *équilibreur de charge* peut être utilisé pour acheminer les requêtes web entrantes vers les instances backend du cluster. Un équilibreur de charge veille à ce que la charge soit répartie uniformément entre les instances du cluster. Il détectera également l'indisponibilité d'une instance et, le cas échéant, arrêtera les requêtes de routine vers cette instance et utilisera les autres instances disponibles. + +L'équilibrage de la charge peut être réalisé de plusieurs manières. *nginx* est une approche simple. En l'utilisant, vous devrez définir un élément *upstream* qui énumère l'emplacement des instances backend, puis utiliser cet élément dans le bloc d'emplacement *proxy*. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 conserve l'état des sessions utilisateur côté serveur dans une certaine mesure. L'utilisation de "sessions persistantes" est une approche simple qui permet d'éviter de reproduire l'état de la session du serveur en acheminant les demandes d'un même client vers le même serveur. La directive *ip\_hash* de l'élément upstream garantit cette fonction. + +Plusieurs instructions ont été omises par souci de concision dans l'exemple ci-dessus. Consultez la section proxy inverse pour obtenir un guide détaillé. + diff --git a/projects/docs-full-site/fr/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/fr/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..31638a74 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..d42966b7 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,367 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Notez que le fichier de configuration prend en charge les variables d'environnement. Cela signifie que vous pouvez définir certaines propriétés comme variables d'environnement et les résoudre. C'est le cas de l'exemple suivant où `DB_PASSWD` est le nom de la variable d'environnement : + +```properties +connection.password = ${DB_PASSWD} +``` + +Notez que ce fichier contient le mot de passe de votre base de données DHIS2 en texte clair et qu'il doit donc être protégé contre tout accès non autorisé. Pour ce faire, appelez la commande suivante qui garantit que seul l'utilisateur *dhis* est autorisé à le lire : + +```sh +chmod 600 dhis.conf +``` + +## Configuration du cryptage{ #install_encryption_configuration } + +DHIS2 permet de crypter les données. L'activation du cryptage nécessite une configuration supplémentaire. Pour assurer la sécurité de l'algorithme de cryptage, vous devrez définir un mot de passe (clé) dans le fichier de configuration `dhis.conf` via la propriété *encryption.password* : + +```properties +encryption.password = xxxx +``` + +La propriété *encryption.password* est le mot de passe (clé) utilisé lors du cryptage et du décryptage des données dans la base de données. + +Si un mot de passe de cryptage n'est pas défini dans `dhis.conf`, un mot de passe par défaut sera utilisé. Notez que l'utilisation du mot de passe par défaut n'augmente pas la sécurité en raison de la nature open source de DHIS 2. + +Le mot de passe ne doit pas être modifié une fois défini et les données cryptées. Autrement, ces données ne pourront plus être décryptées par l'application. + +Le mot de passe doit comporter au moins **24 caractères**. Une combinaison de chiffres et de lettres minuscules et majuscules est recommandé. Le mot de passe de cryptage doit être gardé secret. + +> **Important** +> +> La récupération de données de données cryptées n'est pas possible si le mot de passe de cryptage est perdu ou modifié. Si le mot de passe est perdu, les données cryptées le seront également. A l’inverse, le cryptage n’offre aucune sécurité si le mot de passe est compromis. Il est donc très important de garder le mot de passe dans un endroit sûr. +> + +Etant donné que la clé de cryptage est stockée dans le fichier de configuration `dhis.conf` et non dans la base de données, lors du déplacement d'une base de données entre différents environnements de serveur par le biais d'un vidage et d'une restauration (dump and restore), la clé de cryptage doit être la même dans tous ces environnements pour permettre à DHIS 2 de décrypter le contenu de la base de données. + +La prise en charge du cryptage dépend de la disponibilité des fichiers de stratégie *Java Cryptography Extension* (JCE). Ces fichiers sont inclus dans toutes les versions d'OpenJDK et d'Oracle JDK 8 Update 144 et les versions ultérieures. + + +## Configuration du système { #install_system_configuration } + +Cette section aborde diverses propriétés de configuration du système. + +```propriétés +system.read_only_mode = on | désactivé +``` + +Définit le système sur le mode lecture seule. Ceci est utile lorsque vous exécutez DHIS 2 sur une base de données réplica en lecture seule, afin d'éviter que DHIS 2 n'effectue des opérations d'écriture sur la base de données. Peut être `activé` ou `désactivé`. La valeur par défaut est `désactivé`. + +```properties +system.session.timeout = (seconds) +``` + +Définit le délai d'expiration de la session utilisateur en secondes. La valeur par défaut est 3.600 secondes (1 heure). + +```properties +system.sql_view_table_protection = on | off +``` + +Active ou désactive la protection des tableaux de base de données sensibles pour les vues SQL. Grâce à cette protection, les tableaux de base de données contenant des données sensibles ne pourront pas être interrogées par le biais des vues SQL. La désactivation n'est pas recommandée. Peut être `activé` ou `désactivé`. La valeur par défaut est `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Active ou désactive les autorisations d'écriture pour les vues SQL. Cela empêchera la vue SQL d'effectuer des écritures sous-jacentes (la requête peut être une sélection qui nécessite une autorisation d'écriture). L'activation n'est pas recommandée. La désactivation n'est pas recommandée ; peut être `activé` ou `désactivé`. La valeur par défaut est `on`. + +```properties +system.program_rule.server_execution = on | off +``` + +Active ou désactive l'exécution des règles de programme côté serveur. Il s'agit des règles de programme qui ont des actions d'attribution de valeurs, d'envoi de messages ou de programmation d'envoi de messages. Peut être `activé` ou `désactivé`. La valeur par défaut est `activé`. + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..d93cb5ff --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,82 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Configuration de l'entrepôt de fichiers { #install_file_store_configuration } + +DHIS2 peut recueillir et stocker des fichiers. Par défaut, les fichiers seront stockés sur le système de fichiers local du serveur qui fait fonctionner DHIS2 dans un répertoire de *fichiers* sous l'emplacement du répertoire externe `DHIS2_HOME`. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..bc8068a7 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,43 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Configuration du compte de service Google { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Créez un compte de service Google. Veuillez consulter la documentation de la [plateforme Google + Identify](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + + + - Visitez la [Console Google Cloud](https://console.cloud.google.com) + et allez dans API Manager \> Identifiants \> Créer des identifiants \> + Clé du compte de service. Sélectionnez votre compte de service et JSON comme type de + clé et cliquez sur Créer. + + - Renommez la clé JSON en *dhis-google-auth.json*. + +Après avoir téléchargé le fichier de clé, placez le fichier `dhis-google-auth.json` dans le répertoire `DHIS2_HOME` (le même emplacement que le fichier `dhis.conf`). Cet emplacement pourrait ressembler à ceci : + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..bfb65310 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__logging-md @@ -0,0 +1,122 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +# Journalisation des applications { #install_application_logging } + +This section covers application logging in DHIS2. + +## Fichiers journaux { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Configuration du journal { #log-configuration } + +Pour remplacer la configuration du journal par défaut, vous pouvez spécifier une propriété de système Java avec le nom `log4j2.configurationFile` et une valeur orientée vers le fichier de configuration [Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) + sur le système de fichiers comme ce qui suit : + +```propriétés +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```propriétés +# Taille maximale des fichiers journaux, la valeur par défaut est '100Mo' +journalisation.file.max_size = 250 Mo + +# Nombre maximum de fichiers d'archives de journaux évolutifs, la valeur par défaut est 0 +journalisation.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 fournira les valeurs de contexte suivantes : + +* `sessionId` : ID de session de l'utilisateur actuel +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Configuration du niveau de journalisation { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +Pour définir le niveau de journalisation sur DEBUG pour les services DHIS2, vous pouvez spécifier : + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Les niveaux de journalisation courants sont `DEBUG`, `INFO`, `WARN` et `ERROR`. + +> **Remarque** +> +> La configuration du niveau du journal n'est pas prise en charge par la version intégrée de DHIS2 Jetty. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```propriétés +# Le changelog de la catégorie Agrégat, peut être défini sur 'on', 'off' +changelog.aggregate = on + +# Le changelog de la catégorie Tracker, peut être défini sur 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..5155973f --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Gestion +--- + +# Surveillance { #monitoring } + +## Introduction { #monitoring } + +DHIS2 peut exporter des mesures compatibles avec [Prometheus] (https://prometheus.io/) pour surveiller les nœuds de DHIS2. + +Cette section décrit les étapes nécessaires pour installer Prometheus et [Grafana] (https://grafana.com/) à l'aide d'une procédure d'installation standard (`apt-get`) et de Docker, et pour configurer Grafana afin qu'il affiche les mesures de DHIS2. + +Pour une liste des mesures exposées par une instance DHIS2, veuillez vous référer au guide du suivi sur [GitHub] (https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Configuration { #monitoring_setup } + +Les sections suivantes décrivent comment configurer Prometheus et Grafana et comment configurer Prometheus pour extraire des données d'une ou plusieurs instances DHIS2. + +### Installation de Prometheus + Grafana sur Ubuntu et Debian { #prometheus } + +- Téléchargez Prometheus depuis la page officielle [download](https://prometheus.io/download/). + +- Veillez à appliquer un filtre à votre système d'exploitation et à l'architecture de votre processeur (Linux et amd64). + +- Veillez à sélectionner la dernière version stable, et non la version "rc", car elle n'est pas considérée comme suffisamment stable pour l'instant. + +- Téléchargez l'archive, soit en cliquant sur le lien, ou en utilisant `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Décompresser le zip + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +L'archive contient de nombreux fichiers importants, mais voici les principaux que vous devez connaître. + +- `prometheus.yml` : le fichier de configuration de Prometheus. C'est ce fichier que vous allez modifier afin d'ajuster votre serveur Prometheus, par exemple pour changer l'intervalle de récupération ou pour configurer des alertes personnalisées ; +- `prometheus` : le binaire de votre serveur Prometheus. C'est la commande que vous allez exécuter pour lancer une instance de Prometheus sur votre boîte Linux ; +- `promtool` : il s'agit d'une commande que vous pouvez exécuter pour vérifier votre configuration Prometheus. + +### Configurer Prometheus comme un service { #prometheus_service } + +- Créer un utilisateur `Prometheus` avec un groupe `Prometheus`. + +``` +useradd -rs /bin/false prometheus +``` + +- Déplacer les binaires Prometheus dans un répertoire bin local + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Créez un dossier dans le dossier `/etc` pour Prometheus et déplacez les fichiers de la console, les bibliothèques de la console et le fichier de configuration de Prometheus dans ce dossier nouvellement créé. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Créez un dossier de données à la racine du répertoire, avec un dossier prometheus à l'intérieur. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Créer un service Prometheus { #prometheus_create_service } + +Pour créer un service _systemd_ Prometheus, rendez-vous dans le dossier `/lib/systemd/system` et créez un nouveau fichier systemd nommé `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Modifiez le fichier nouvellement créé et coller le contenu suivant à l'intérieur : + +```propriétés +[Unité] +Description=Prometheus +Souhaite=réseau-cible.en ligne +Après=éseau-cible.en ligne + +[Service] +Type=simple +Utilisateur=prometheus +Groupe=prometheus +ExecStart=/usr/local/bin/prometheus \ + --fichier.de configuration=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.modèles=/etc/prometheus/consoles \ + --web.console.bibliothèque=/etc/prometheus/console_libraries \ + --web.adresse-écoute=0.0.0.0:9090 \ + --web. activer-l'api de-l'administrateur + +Redémarrer=toujours + +[Installer] +Requis par=multi-utilisateur.cible +``` + +- Enregistrer le fichier et activer le service Prometheus au démarrage + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Tester que le service est en cours d'exécution + +``` +systemctl status prometheus + +... +Active : active (en cours d'exécution) +``` + +- Il devrait maintenant être possible d'accéder à l'interface utilisateur de Prometheus en accédant à `http://localhost:9090`. + + +### Mise en place du proxy inverse Nginx { #prometheus_nginx } + +Prometheus ne prend pas en charge l'authentification ou le cryptage TLS de manière automatique. Si Prometheus doit être exposé en dehors des limites du réseau local, il est important d'activer l'authentification et le cryptage TLS. Les étapes suivantes montrent comment utiliser Nginx comme proxy inverse. + +- Installer Nginx, s'il n'est pas déjà installé + +``` +apt mise à jour +apt-installer nginx +``` + +Par défaut, Nginx commence à écouter les requêtes HTTP sur le port `http` par défaut, qui est `80`. + +Si une instance Nginx fonctionne déjà sur la machine et que vous ne savez pas sur quel port elle est à l'écoute, exécutez la commande suivante : + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +La dernière colonne indique le port utilisé par Nginx (`http` -> `80`). + +Par défaut, la configuration de Nginx est située dans `/etc/nginx/nginx.conf` + +Assurez-vous que `nginx.conf` contient la section `Virtual Host Config` + +``` +## +# Configurations du serveur virtuel +## + +Inclut /etc/nginx/conf.d/*.conf; +Inclut /etc/nginx/sites-enabled/*; + +``` + +- Créez un nouveau fichier dans `/etc/nginx/conf.d` du nom de `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Modifiez le fichier nouvellement créé et coller le contenu suivant à l'intérieur : + +``` +serveur { + écoute 1234; + + localisation / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Redémarrez Nginx et accédez à http://localhost:1234 + +``` +systemctl redémarrer nginx + +# en cas d'erreurs de démarrage +journalctl -f -u nginx.service +``` + +- Configurez Prometheus pour le proxy inverse, en éditant `/lib/systemd/system/prometheus.service` et ajoutez l'argument suivant à la liste des arguments transmis à la commande Prometheus. + +``` +--web.externe-url=https://localhost:1234 +``` + +- Redémarrer le service + +``` +systemctl daemon-reload +systemctl redémarrer prometheus + + +# en cas d'erreurs +journalctl -f -u prometheus.service +``` + +### Activer l'authentification du proxy inverse { #prometheus_auth } + +Cette section montre comment configurer l'authentification de base via le proxy inverse. Si vous avez besoin d'un mécanisme d'authentification différent (SSO, etc.), veuillez consulter la documentation correspondante. + +- Assurez-vous que `htpasswd` est installé sur le système + +``` +apt-get install apache2-utils +``` + +- Créer un fichier d'authentification + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Choisissez un mot de passe efficace et assurez-vous que le fichier pass a été correctement créé. + +- Editez le fichier de configuration Nginx créé précédemment (`/etc/nginx/conf.d/prometheus.conf`), et ajoutez les informations d'authentification. + +``` +serveur { + écoute 1234; + + localisation / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Redémarrer Nginx + +``` +systemctl redémarrer nginx + +# en cas d'erreurs +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` devrait maintenant vous demander votre nom d'utilisateur et votre mot de passe. + +### Installer Grafana sur Ubuntu et Debian { #grafana } + +- Ajouter une clé `gpg` et installer le paquet OSS Grafana depuis le repo APT + +```sh +apt-installer -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repositoire "deb https://packages.grafana.com/oss/deb stable main" + +apt-mettre à jour + +apt-installer grafana +``` + +- Si le système utilise `systemd`, un nouveau `grafana-service` est automatiquement créé. Vérifiez le fichier `systemd` pour avoir un aperçu de l'installation de Grafana. + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +Ce fichier est très important car il fournit des informations sur l'instance Grafana nouvellement installée. + +Le fichier affiche : + +Le **serveur binaire de Grafana** est situé dans `/usr/sbin/grafana-server`. +Le fichier qui définit toutes les **variables d'environnement** est situé dans `/etc/default/grafana-server` +Le **fichier de configuration** est donné par la variable d'environnement `CONF_FILE`. +Le **PID du fichier** est également déterminé par la variable d'environnement `PID_FILE_DIR`. +Les chemins de **logging**(enregistrement), **data** (données), **plugins** (extensions) et **provisioning** (approvisionnement) sont donnés par des variables d'environnement. + +- Démarrer le serveur + +``` +systemctl start grafana-server +``` + +- Accéder à la console web Grafana : http://localhost:3000 + +Le nom d'utilisateur par défaut pour Grafana est `admin` et le mot de passe par défaut est également `admin`. +Vous serez invité à changer le mot de passe lors de votre premier accès. + +- Configurer Prometheus comme source de données Grafana + +Accédez au panneau des sources de données en cliquant sur `Configuration` > `Sources de données` dans le menu à gauche. + +Cliquez sur `Add a datasource` (Ajouter une source de données) + +Sélectionnez une source de données Prometheus dans la fenêtre suivante. + +Configurer la source de données en fonction de la configuration de Prometheus (utiliser l'authentification, TSL, etc.) + +### Installer Prometheus + Grafana à l'aide de Docker { #prometheus_grafana_docker } + +Cette section décrit comment démarrer une pile Prometheus contenant Prometheus et Grafana. + +La configuration est basée sur ce projet : https://github.com/vegasbrianc/prometheus + +- Cloner ce projet Github : https://github.com/vegasbrianc/prometheus + +- Démarrer la pile Prometheus en utilisant : + +``` +déploiement de la pile docker -c docker-stack.yml prom +``` + +La commande ci-dessus peut entraîner l'erreur suivante : + +*Ce nœud n'est pas un gestionnaire swarm. Utilisez "docker swarm init" ou "docker swarm join" pour connecter ce noeud au swarm et réessayez*. + +Si cela se produit, vous devez démarrer Swarm. Vous pouvez utiliser la ligne de commande suivante : + +``` +docker swarm init --advertise-addr +``` + +Une fois cette commande exécutée avec succès, vous devriez pouvoir exécuter la commande précédente sans problème. + +La pile contient également un exportateur de noeuds pour le suivi de Docker. Si vous n'êtes pas intéressé par le suivi de Docker, vous pouvez commenter les sections concernées dans le fichier `docker-stack.yml` : + +- `exportateur de noeuds` +- `cadvisor` + +- Pour arrêter la pile Prometheus : + +``` +docker stack rm prom +``` + +Le fichier de configuration de Prometheus (`prometheus.yml`) est situé dans le dossier `prometheus`. + +- Accédez à la console web de Grafana à l'adresse suivante : http://localhost:3000 avec le nom d'utilisateur : `admin` et le mot de passe : `foobar`. + +### Configurer Prometheus pour obtenir des indicateurs à partir d'une ou plusieurs instances DHIS2 { #prometheus_dhis2 } + +Avant d'utiliser Prometheus, il faut le configurer. Nous devons donc créer un fichier de configuration nommé `prometheus.yml` + +> **Remarque** +> +> Le fichier de configuration de Prometheus est écrit en YAML ce qui interdit formellement l'utilisation de tabulations. Si votre fichier est mal formaté, Prometheus ne démarrera pas. Faites attention lorsque vous l'éditez. + +Le fichier de configuration de Prometheus est divisé en trois parties : `global`, `rule_files`, et `scrape_configs`. + +Dans la partie générale, on trouve la configuration générale de Prometheus : `scrape_interval`(intervalle d'analyse) définit la fréquence à laquelle Prometheus analyse les cibles, `evaluation_interval` (intervalle d'évaluation) contrôle la fréquence à laquelle le logiciel évalue les règles. Les règles sont utilisées pour créer de nouvelles séries temporelles et pour générer des alertes. + +Le bloc `rule_files`(dossiers de règles) contient des informations sur l'emplacement de toutes les règles que nous voulons que le serveur Prometheus charge. + +Le dernier bloc du fichier de configuration est nommé `scape_configs` (configuration du cadre) et contient les informations sur les ressources que Prometheus suit. + +Un fichier de suivi simple de DHIS2 Prometheus ressemble à cet exemple : + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +L'intervalle général `scrape_interval` est fixé à 15 secondes, ce qui est suffisant pour la plupart des cas d'utilisation. + +Dans la partie `scrape_configs` nous avons défini l'exportateur DHIS2. +Le bloc `basic_auth` contient les informations d'identification requises pour accéder à l'API `metrics` : envisagez de créer un utilisateur ad-hoc uniquement pour accéder au point de terminaison `metrics`. + +Prometheus peut ou non fonctionner sur le même serveur que DHIS2 : dans la configuration ci-dessus, on suppose que Prometheus ne suit qu'une seule instance de DHIS2, fonctionnant sur le même serveur que Prometheus, nous utilisons donc `localhost`. + +### Configurer l'exportateur DHIS2 { #dhis2_metrics_conf } + +Le sous-système de suivi est désactivé par défaut dans DHIS2. + +Chaque groupe de mesures doit être explicitement activé pour que les mesures puissent être exportées. Pour configurer DHIS2 afin d'exporter une ou plusieurs mesures, consultez ce [document] (https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..ae33ab64 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,297 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Gestion +--- + +# Configuration d'OpenID Connect (OIDC) { #install_oidc_configuration } + +DHIS2 prend en charge la couche d'identité d'OpenID Connect (OIDC) pour une identification unique (IU). OIDC est un protocole d'authentification standard qui permet aux utilisateurs de se connecter à un fournisseur d'identité (IdP) comme Google. Une fois que les utilisateurs parviennent à se connecter à leur IdP, ils sont donc automatiquement connectés à DHIS2. + +Cette section fournit des informations générales sur l'utilisation de DHIS2 avec un fournisseur d'OIDC, ainsi que des exemples de configuration complets. + +L'authentification du 'code d’autorisation' de DHIS2 OIDC se présente comme suit : + +1. Un utilisateur tente de se connecter à DHIS2 et clique sur le bouton du fournisseur d'OIDC sur la page de connexion. + +2. DHIS2 redirige le navigateur vers la page de connexion de l'IdP. + +3. S'il n'est pas déjà connecté, l'utilisateur est invité à fournir ses informations d'identification. Une fois authentifié avec succès, l'IdP le redirige vers le serveur DHIS2. La redirection comprend un code d'autorisation unique généré pour l'utilisateur. + +4. Le serveur DHIS2 renvoie en interne le code d'autorisation de l'utilisateur au serveur IdP avec son propre identifiant client et ses informations d'identification secrètes client. + +5. L'IdP renvoie un jeton d'identification au serveur DHIS2. Ce dernier valide le jeton. + +6. Le serveur DHIS2 recherche l'utilisateur interne de DHIS2 avec les informations trouvées dans le jeton d'identification (par défaut, e-mail), autorise l'utilisateur et termine le processus de connexion. + +## Conditions requises pour utiliser OIDC avec DHIS2 : { #requirements-for-using-oidc-with-dhis2 } + +### Compte du serveur IdP { #idp-server-account } + +Vous devez disposer d'un compte administrateur sur un fournisseur d'identité en ligne (IdP) ou sur un serveur autonome pris en charge par DHIS2. + +Les IdP suivants sont actuellement pris en charge et testés : + +* Google +* Azure AD +* WSO2 +* Okta (Voir le tutoriel : [ici](#configure-openid-connect-with-okta)) + +Il existe également une configuration de **fournisseur générique** qui peut prendre en charge "n'importe quel" fournisseur compatible avec OIDC. + +### Compte utilisateur DHIS2 { #dhis2-user-account } + +Vous devez créer expressément les utilisateurs sur le serveur DHIS2 avant qu'ils puissent se connecter au fournisseur d'identité. Leur importation à partir d'un répertoire externe tel qu'Active Directory n'est pas prise en charge actuellement. La création et la gestion d'utilisateurs avec un magasin d'identités externe ne sont pas pris en charge par la norme OIDC. + +### Requêtes d'IdP et mapping des utilisateurs { #idp-claims-and-mapping-of-users } + +Pour se connecter à DHIS2 avec OIDC, l'utilisateur doit être enregistré dans l'IdP et ensuite connecté à un compte utilisateur précréé dans DHIS2. OIDC utilise une méthode basée sur les requêtes pour partager les attributs des comptes utilisateurs avec d'autres applications. Les requêtes comportent des attributs de compte utilisateur tels que l'adresse électronique, le numéro de téléphone, le nom, etc. DHIS2 utilise une requête IdP pour établir des liens de correspondance entre les comptes utilisateurs de l'IdP et ceux hébergés dans le serveur DHIS2. Par défaut, DHIS2 exige que l'IdP transmette la requête _email_. En fonction de votre IdP, vous devrez peut-être configurer DHIS2 de manière à ce qu'il utilise une requête IdP différente. + +Si vous utilisez Google ou Azure AD comme IdP, par défaut, le système va utiliser _email_ pour faire correspondre les identités IdP avec les comptes utilisateurs DHIS2. + +> **Remarque** +> +> Pour qu'un utilisateur DHIS2 puisse se connecter avec un IdP, la case du profil d'utilisateur : *Authentification externe, uniquement OpenID ou LDAP* doit être cochée et le champ *OpenID* doit correspondre à la revendication (revendication de mise en correspondance) renvoyée par l'IdP. L'email est la revendication par défaut utilisée par Google et Azure AD. + +## Configurer le fournisseur d'identité pour l'OIDC { #configure-the-identity-provider-for-oidc } + +Cette section fournit des informations générales sur la configuration d'un fournisseur d'identité (IdP) pour utiliser OIDC avec DHIS2. Il s'agit d'une des étapes de tout un processus. Chaque fournisseur d'identité a des méthodes de configuration légèrement différentes. Consultez la documentation de votre IdP pour savoir comment créer et configurer une application OIDC. Ici, le serveur DHIS2 va nous servir d'"application" OIDC. + +### Rediriger l'URL { #redirect-url } + +Tous les IdP nécessiteront une URL de redirection vers votre serveur DHIS2. +Vous pouvez le construire en utilisant le modèle suivant : + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Exemple d'utilisation de Google IdP : + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +Liens externes vers des instructions pour configurer votre IdP : + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Tutoriel Azure AD](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Exemple de configuration Google { #example-setup-for-google } + +1. Créez un compte et connectez-vous. Pour Google, par exemple, vous pouvez vous rendre sur la [console des développeurs] à l'adresse suivante : (https://console.developers.google.com). +2. Dans le tableau de bord des développeurs Google, cliquez sur 'Créer un nouveau projet'. +3. Suivez les instructions pour créer un ID client et un secret client OAuth 2.0. +4. Définissez votre "URL de redirection autorisée" à l'adresse suivante : `https://mydhis2-server.org/oauth2/code/google` +5. Copiez et conservez l' "identifiant client" et le "secret client" dans un endroit sécurisé. + +> **Conseil** +> +> Lors des tests sur une instance DHIS2 locale exécutée par exemple sur votre ordinateur portable, vous pouvez utiliser localhost comme URL de redirection, comme suit : `https://localhost:8080/oauth2/code/google` +> *N'oubliez pas d'ajouter également l'URL de redirection dans la console des développeurs Google* + +### Exemple Google dhis.conf : { #google-dhisconf-example } +```propriétés + +# Permet la connexion à OIDC +oidc.oauth2.login.enabled = activé + +# Identifiant client, qui vous est fourni dans la console des développeurs Google +oidc.provider.google.client_id = mon identifiant client + +# Secret client, qui vous est fourni dans la console des développeurs Google +oidc.provider.google.client_secret = mon secret client + +# [Facultatif] URI de redirection autorisé, identique à celui défini dans la console des développeurs Google +# Si votre nom d'hôte public est différent de ce qui se trouve dans le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Facultatif] Où serez-vous redirigé après déconnexion ? +# Si votre nom d'hôte public est différent de ce qui se trouve dans le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Exemple de configuration pour Azure AD { #example-setup-for-azure-ad } + +Assurez-vous que votre compte Azure AD dans le portail Azure est configuré avec une URL de redirection comme celle-ci : `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +Pour enregistrer votre serveur DHIS2 en tant qu' "application" dans le portail Azure, suivez les étapes suivantes : + +> **Remarque** +> +> PROVIDER_KEY est la partie "nom" de la clé de configuration, par exemple : "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> Si vous voulez configurer plusieurs fournisseurs Azure, vous pouvez utiliser ce formulaire de nom : (azure.0), (azure.1) etc. +> Exemple d'URL de redirection : https://mydhis2-server.org/oauth2/code/azure.0 + +1. Recherchez et sélectionnez *Inscriptions d’applications*. +2. Cliquez sur *Nouvelle inscription*. +3. Dans le champ *Nom*, entrez un nom qui décrit votre instance DHIS2. +4. Dans le champ *URI de redirection*, entrez l'URL de redirection tel que spécifié ci-dessus. +5. Cliquez sur *S'inscrire*. + +### Exemple Azure AD dhis.conf : { #azure-ad-dhisconf-example } +```propriétés + +# Permet la connexion à OIDC +oidc.oauth2.login.enabled = activé + +# Premier fournisseur (azure.0) : + +# Alias ou nom qui s'affichera sur le bouton de connexion sur l'écran de connexion de DHIS2. +oidc.provider.azure.0.tenant = nom de l'organisation + +# ID client, qui vous est fourni dans le portail Azure +oidc.provider.azure.0.client_id = mon ID client + +# Secret client, qui vous est fourni dans le portail Azure +oidc.provider.azure.0.client_secret = mon secret client + +# [Facultatif] URI de redirection autorisé, tel que défini dans le portail Azure +# Si votre nom d'hôte public est différent de ce qui se trouve sur le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Facultatif] Où serez-vous redirigé après déconnexion ? +# Si votre nom d'hôte public est différent de ce qui se trouve sur le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Facultatif], par défaut 'e-mail' +oidc.provider.azure.0.mapping_claim = e-mail + +# [Facultatif], par défaut "activé" +oidc.provider.azure.0.support_logout = activé + + +# Deuxième fournisseur (azure.1) : + +oidc.provider.azure.1.tenant = autre nom d'organisation +... +``` + +## Fournisseurs génériques { #generic-providers } + +Le fournisseur générique peut être utilisé pour configurer "n'importe quel" fournisseur d'OIDC standard qui est compatible avec "Spring Security". + +Dans l'exemple ci-dessous, nous allons configurer le fournisseur du gouvernement norvégien _HelseID_ OIDC à l'aide de la clé du fournisseur `helseid`. + +Le fournisseur défini apparaîtra sous forme de bouton sur la page de connexion avec la clé du fournisseur comme nom par défaut, ou la valeur de `display_alias` si elle est définie. La clé du fournisseur est arbitraire et peut consister en n'importe quelle chaîne alphanumérique, excepté les noms réservés utilisés par les fournisseurs spécifiques (`google`, `azure.0,azure.1...`, `wso2`). + +> **Remarque** +> Le fournisseur générique utilise les valeurs de configuration par défaut codées en dur suivantes : +> **(Ne peuvent pas subir de modifications)** +> * Authentification du client, `ClientAuthenticationMethod.BASIC` : [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Requêtes authentifiées, `AuthenticationMethod.HEADER` : [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Exemple de dhis.conf générique (helseid) : { #generic-helseid-dhisconf-example } + +```propriétés + +# Permet la connexion OIDC +oidc.oauth2.login.enabled = activé + +# Variables obligatoires : +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Facultatif] URI de redirection autorisé, tel que défini dans le portail Azure +# Si votre nom d'hôte public est différent de ce qui se trouve sur le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Facultatif], par défaut "activé" +oidc.provider.helseid.enable_logout = activé + +# [Facultatif] Où serez-vous redirigé après déconnexion ? +# Si votre nom d'hôte public est différent de ce qui se trouve sur le serveur, +# vous devez fournir votre URL publique complète, comme dans l'exemple ci-dessous. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Facultatif] Prise en charge de PKCE, voir : https://oauth.net/2/pkce/), la valeur par défaut est 'fausse' +oidc.provider.helseid.enable_pkce = activé + +# [Facultatif] Variables supplémentaires ajoutées à la requête. +# Doivent être des paires clé/valeur telles que : "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4, other_key value2 + +# [Facultatif] Il s'agit de l'alias/nom affiché sur le bouton de connexion sur la page de connexion de DHIS2 +oidc.provider.helseid.display_alias = HelseID + +# [Facultatif] Lien vers une URL pour obtenir un logo. (Peut utiliser des URL absolues ou relatives) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Facultatif] Remplissage CSS pour l'image du logo +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## Authentification du jeton du porteur JWT { #jwt-bearer-token-authentication } + +L'authentification avec des *jetons bearer JWT* peut être activée pour les clients basés sur l'API lorsque OIDC est configuré. +Le client DHIS2 Android est le type de client qui doit utiliser l'authentification JWT si la connexion OIDC est activée. + +>**Note** +> +> DHIS2 ne prend actuellement en charge que le flux d'attribution du code d'autorisation OAuth2 pour l'authentification avec JWT (également connu sous le nom de "OAuth à trois niveaux" (three-legged OAuth en anglais)). +> Actuellement, avec DHIS2, seul Google peut être utilisé en tant que fournisseur d'OIDC lors de l'utilisation de jetons JWT. + + +## Conditions requises { #requirements } +* Configurez votre fournisseur Google OIDC comme décrit ci-dessus +* Désactivez le paramètre de configuration ```oauth2.authorization.server.enabled``` en le réglant sur 'off' (désactiver) +* Activez le paramètre de configuration ```oidc.jwt.token.authentication.enabled``` en le réglant sur 'on' (activer) +* Générez un Id_client pour Android OAuth2 tel que décrit [ici](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## Exemple d'authentification JWT { #jwt-authentication-example } + +La section `dhis.conf` suivante montre un exemple de la façon d'activer l'authentification JWT pour un client basé sur API. + +```propriétés + +# Permet la connexion à OIDC +oidc.oauth2.login.enabled = activé + +# Variables de configuration minimales requises : +oidc.provider.google.client_id = mon_client_id +oidc.provider.google.client_secret = mon_client_secret + +# Activer la prise en charge de JWT +oauth2.authorization.server.enabled = désactivé +oidc.jwt.token.authentication.enabled = activé + +# Définir le client 1 à l'aide des jetons JWT +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Définir le client 2 à l'aide des jetons JWT +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..57903eef --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,166 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Gestion +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### Optimisation des performances de PostgreSQL { #install_postgresql_performance_tuning } + +Le réglage de PostgreSQL est nécessaire pour obtenir un système performant, mais facultatif pour le fonctionnement de DHIS2. Les différents paramètres peuvent être spécifiés dans le fichier de configuration `postgresql.conf` ou, de préférence, dans un fichier spécifique du répertoire `conf.d`'. Les paramètres sont basés sur l'allocation de 8 Go de RAM à PostgreSQL et doivent être ajustés en fonction de l'environnement. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Définissez les propriétés suivantes. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Détermine le nombre maximum de connexions autorisées par PostgreSQL. + +```properties +shared_buffers = 3GB +``` + +Détermine la quantité de mémoire à allouer exclusivement à la mise en cache de PostgreSQL. Ce paramètre contrôle la taille de la mémoire partagée du noyau qui doit être réservée à PostgreSQL. Il doit être fixé à environ 40% de la mémoire totale dédiée à PostgreSQL. + +```properties +work_mem = 24MB +``` + +Détermine la quantité de mémoire utilisée pour les opérations internes de tri et de hachage. Ce paramètre s'applique à chaque connexion et à chaque requête, de sorte qu'une grande quantité de mémoire peut être consommée si cette valeur est trop élevée. Il est essentiel de définir correctement cette valeur pour optimiser les performances d'agrégation de DHIS2. + +```properties +maintenance_work_mem = 1GB +``` + +Détermine la quantité de mémoire que PostgreSQL peut utiliser pour les opérations de maintenance telles que la création d'index, l'exécution du vacuum et l'ajout de clés étrangères. Augmenter cette valeur peut améliorer les performances de création d'index pendant les processus de génération d'analyses. + +```properties +temp_buffers = 16MB +``` + +Définit le nombre maximum d'objets temporaires utilisés par chaque session de la base de données. Il s'agit d'objets locaux utilisés uniquement pour l'accès aux tableaux temporaires. + +```properties +effective_cache_size = 8GB +``` + +Estimation de la quantité de mémoire disponible pour la mise en cache du disque par le système d'exploitation (il ne s'agit pas d'une allocation) ; elle est utilisée par PostgreSQL pour déterminer si un plan de requête tiendra ou non dans la mémoire. Définir une valeur plus élevée que la mémoire disponible entraînera de mauvaises performances. Cette valeur doit être incluse dans le paramètre `shared_buffers`. PostgreSQL a deux couches de cache : La première couche utilise la mémoire partagée du noyau et est contrôlée par le paramètre shared_buffers. PostgreSQL délègue la seconde couche au cache disque du système d'exploitation et la taille de la mémoire disponible peut être fournie avec le paramètre `effective_cache_size`. + +```properties +checkpoint_completion_target = 0.8 +``` + +Définit la mémoire utilisée pour la mise en mémoire tampon pendant le processus d'écriture WAL. Augmenter cette valeur peut améliorer le débit dans les systèmes à forte densité d'écriture. + +```properties +synchronous_commit = off +``` + +Spécifie si les transactions doivent attendre que les enregistrements WAL soient écrits sur le disque avant d'être renvoyées au client ou non. Si cette option est désactivée, les performances seront considérablement améliorées. Cela implique également qu'il y aura un léger décalage entre le moment où la transaction au client est déclarée réussie et le moment où elle est réellement sûre, mais l'état de la base de données ne peut pas être corrompu et c'est une bonne alternative pour les systèmes exigeants en termes de performances et d'écriture comme DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Spécifie le décalage entre les opérations d'écriture WAL. Y définir une valeur élevée permettra d'améliorer les performances des systèmes à forte densité d'écriture, car de nombreuses opérations d'écriture peuvent être exécutées en un seul vidage sur le disque. + +```properties +random_page_cost = 1.1 +``` + +*SSD uniquement*: Définit l'estimation par le planificateur de requêtes du coût d'une page de disque non extraite de manière séquentielle. Une valeur faible incitera le système à préférer les scans d'index aux scans séquentiels. Une valeur faible convient aux bases de données qui fonctionnent sur des disques SSD ou qui sont massivement mises en cache dans la mémoire. La valeur par défaut est 4.0, ce qui est raisonnable pour les disques traditionnels. + +```properties +max_locks_per_transaction = 96 +``` + +Spécifie le nombre moyen de verrous d'objets alloués pour chaque transaction. Cette valeur est principalement définie pour permettre la réalisation des mises à niveau de routine qui touchent un grand nombre de tableaux. + +```properties +track_activity_query_size = 8192 +``` + +Spécifie le nombre d'octets réservés au suivi de la commande en cours d'exécution pour chaque session active. Elle permet d'afficher la chaîne de requête complète pour la surveillance des requêtes en cours d'exécution. + +Redémarrez PostgreSQL en appelant la commande suivante : + +```sh +sudo systemctl restart postgresql +``` + +## Configuration de la base de données réplica en lecture { #install_read_replica_configuration } + +DHIS 2 permet d'utiliser des réplicas en lecture seule de la base de données principale (la base de données principale de DHIS 2). L'objectif des réplicas en lecture est d'améliorer les performances des requêtes en lecture de la base de données et d'augmenter les capacités au-delà des contraintes d'une seule base de données. Les opérations à forte intensité de lecture en bénéficieront, notamment les requêtes d'analyse et les requêtes d'événements. + +La configuration exige que vous ayez créé une ou plusieurs instances répliquées de la base de données principale de DHIS 2. PostgreSQL permet de le faire grâce à un concept appelé *réplication en flux*. La configuration des réplicas en lecture pour PostgreSQL n'est pas abordée dans ce guide. + +Les réplicas en lecture peuvent être définis dans le fichier de configuration `dhis.conf`. Vous pouvez en spécifier jusqu'à 5 par instance DHIS 2. Chaque réplica est désignée par un nombre compris entre 1 et 5. L'URL de connexion JDBC doit être définie pour chaque réplica. Le nom d'utilisateur et le mot de passe peuvent être spécifiés. Dans le cas contraire, le nom d'utilisateur et le mot de passe de la base de données principale seront utilisés en lieu et place. + +La configuration des réplicas en lecture dans `dhis.conf` ressemble à celle ci-dessous. +Chaque réplica est spécifié avec le préfixe de la clé de configuration *readN*, où N fait référence au numéro du réplica. + +```propriétés +# Configuration du réplica en lecture 1 + +# URL de connexion à la base de données, nom d'utilisateur et mot de passe +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Configuration du réplica en lecture 2 + +# URL de connexion à la base de données, nom d'utilisateur et mot de passe +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Configuration du réplica en lecture 3 + +# URL de connexion à la base de données, retour à la base de données principale pour obtenir le nom d'utilisateur et le mot de passe +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Vous devez redémarrer votre conteneur de servlets pour que les modifications s'appliquent. DHIS 2 répartira automatiquement la charge entre les réplicas en lecture. L'ordre des réplicas n'a pas d'importance. + +## Travailler avec la base de données PostgreSQL { #install_working_with_the_postgresql_database } + +Les opérations courantes lors de la gestion d'une instance DHIS2 sont le vidage et la restauration des bases de données. Notez que lorsque vous effectuez des sauvegardes de la base de données DHIS 2, il est préférable d'exclure les tableaux générés par le système, telles que les tableaux de ressources et d'analyses. Pour effectuer un vidage (copie) de votre base de données dans un fichier, vous pouvez appeler la commande suivante : + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +Dans l'exemple suivant, le nom de la base de données est `dhis2`, l'utilisateur est `dhis` et le nom du fichier de sortie est `dhis2.sql`  : + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +La compression du fichier de sortie est recommandée. Avec `gzip`, cette compression peut être fait comme ceci : + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +Pour restaurer la copie de la base de données sur un autre système, vous devez d'abord créer une base de données vide tel que décrit dans la section sur l'installation. Vous devez également décompresser la copie à l'aide de la commande `gunzip` si vous aviez créé une version compressée. Pour restaurer la copie, vous pouvez appeler la commande suivante : + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/fr/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/fr/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..fafc3060 --- /dev/null +++ b/projects/docs-full-site/fr/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Gestion +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/fr/MANAGE__manage-md b/projects/docs-full-site/fr/MANAGE__manage-md index a8f26255..ffa79271 100644 --- a/projects/docs-full-site/fr/MANAGE__manage-md +++ b/projects/docs-full-site/fr/MANAGE__manage-md @@ -1,11 +1,115 @@ --- -edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/index.md" -revision_date: '2021-06-14' +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/index.md" +revision_date: '2024-11-04' tags: - Gestion --- -# Gestion { #manage } +# Installation { #installation } -This section contains information related to the management and maintenance of DHIS 2 systems. +This section contains information related to the installation, management and maintenance of DHIS2 systems. It provides information on how to install DHIS2 in various contexts, including online central server, offline local network or standalone application. + +## Introduction { #install_introduction } + +--- + +DHIS2 runs on all platforms for which there exists a Java JRE, which includes most popular operating systems such as Linux, Windows and Mac. DHIS2 is packaged as a standard Java Web Archive (WAR-file) and thus runs on any Servlet containers such as Tomcat and Jetty. Its writes its data to a PostgreSQL database. Its recommended that you run it on a Supported Ubuntu LTS system, + +This chapter provides a guide for setting up the above technology stack. It should however be read as a guide for getting up and running and not as an exhaustive documentation for the mentioned environment. We refer to the official Ubuntu, PostgreSQL and Tomcat documentation for in-depth reading. + +## Server specifications { #install_server_specifications } + +--- + +DHIS2 is a database intensive application and requires that your server has an appropriate amount of RAM, a good number of CPU cores and a fast disk, preferably an solid state disk (ssd). These recommendations should be considered as rules-of-thumb and not exact measures. DHIS2 scales linearly on the amount of RAM and number of CPU cores so the more you can afford, the better the application will perform. + +- _RAM_ + : At least 8 GB for a small instance, 16 GB for a medium instance, 64 GB or more for a large instance. +- _CPU_ + : 4 CPU cores for a small instance, 8 CPU cores for a medium instance, 16 CPU cores or more for a large instance. +- _Disk_ + : SSD is recommended as the storage device. Minimum read speed is 150 Mb/s, 200 Mb/s is good, 350 Mb/s or better is ideal. At least 100 GB storage space is recommended, but will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of storage space. Plan ahead and ensure that your server can be upgraded with more disk space as needed. On linux, you can test disk latency and throughput with below commands + + ``` + # disk latency + dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync + + # disk throughput + dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync + + # remove /tmp/test1.img after testing + rm -v -i /tmp/test1.img + ``` + +## Software requirements { #install_software_requirements } + +--- + +Les versions ultérieures de DHIS2 nécessitent les versions logicielles suivantes pour fonctionner. + +- An operating system for which a Java JDK or JRE version 8 ,11 or 17 exists. Ubuntu LTS release is recommended. +- Java JDK. OpenJDK is recommended. + + Table: DHIS2 JDK compatibility + + | DHIS2 version | JDK recommended | JDK required | + | ------------- | --------------- | ------------ | + | 2.41 | 17 | 17 | + | 2.40 | 17 | 11 | + | 2.38 | 11 | 11 | + | 2.35 | 11 | 8 | + | pre 2.35 | 8 | 8 | + +- PostgreSQL database version 13 or later. A later PostgreSQL 16 is recommended. +- PostGIS database extension version 2.2 or later, 3 is recommended. +- Tomcat servlet container version 8.5.50 or 9, 9 is recommended. +- Cluster setup only (optional): Redis data store version 4 or later. + +So a minimal installation of DHIS2 would consist of just the tomcat server (with DHIS2 war file deployed) and a PostgreSQL database. This type of minimal setup can be suitable for a developer or experimental setup. For a production deployment there are many other factors to take into account regarding maintenance, monitoring, security, scalability and performance. + +## Install approaches { #install_install_approaches } + +--- + +There are many ways to get DHIS2 up and running. How you choose to install will depend on which skills and tools you are familiar with and whether the installation is for production or experimental use. We have a number of different guides which emphasize different styles of implementation. Regardless of the implementation approach you adopt, you will want to familiarize yourself with the additional reference material we provide regarding database management, reverse proxy setup, system monitoring, upgrades etc. + +#### [Automated Install](#getting_started_linux_automated_install) { #install_automated_install_on_linux } + +These tools are ansible based [dhis2-server-tools](https://github.com/dhis2/dhis2-server-tools). This tool set provides a set of ansible playbooks to automate the installation and management of DHIS2 and supporting components. It is geared towards production environments with the aim of addressing the most critical security and monitoring considerations out-of-the-box. + +#### [Manual Install](#installation_on_linux_server) { #manual-installinstallation_on_linux_server } + +This guide provides step-by-step instructions for setting up DHIS2 on Ubuntu 22.04. For production environments, however, we highly recommend using an automated installation to ensure consistency and ease of management. Manual setup is ideal for learning and understanding how different DHIS2 components are setup and how they interconnect. + +### Running DHIS2 on docker { #running-dhis2-on-docker } + +#### Important Considerations for Deploying DHIS2 with Docker { #important-considerations-for-deploying-dhis2-with-docker } + +While Docker containers offer a potential method for running DHIS2 applications, there are important factors to consider before implementing this approach in production environments. + +##### Limited Production Use Cases: { #limited-production-use-cases } + +Currently available Docker images for DHIS2 may not be suitable for production deployments. These images haven't undergone extensive testing in real-world production settings. While they might function adequately for development purposes, their stability and performance under demanding workloads cannot be guaranteed for mission-critical applications. + +##### User Awareness and Testing: { #user-awareness-and-testing } + +The decision to utilize DHIS2 within Docker containers for production environments rests solely with the user. If you choose to proceed with this approach, comprehensive security, performance, and stress testing are absolutely essential. Rigorous testing will help ensure the stability and reliability of your DHIS2 application in a production setting. + +For those interested in exploring DHIS2 with Docker, the following link provides information on running DHIS2 in a Docker container: + +[ Running DHIS2 on Docker ](https://github.com/dhis2/dhis2-core/blob/master/docker/DOCKERHUB.md) + +### Running DHIS2 on Kubernetes { #running-dhis2-on-kubernetes } + +#### Leveraging Kubernetes for DHIS2 Deployment { #leveraging-kubernetes-for-dhis2-deployment } + +Kubernetes, a leading open-source container orchestration platform, offers a compelling approach to automate the deployment, scaling, and management of containerized applications. + +> **NOTE** +> +> Kubernetes would still require dhis2 docker images and thus reservations made above regarding Limited Production Use Cases still holds. + +#### Container Image Selection: { #container-image-selection } + +While Kubernetes is agnostic to the container image format, successful DHIS2 deployment relies on readily available container images. Currently, available Docker images for DHIS2 are primarily intended for development environments. These images may not have undergone rigorous testing for production workloads, potentially impacting stability and performance. diff --git a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS-TRACKER__installation-md b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS-TRACKER__installation-md index b77bd8b7..59310b0d 100644 --- a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS-TRACKER__installation-md +++ b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS-TRACKER__installation-md @@ -135,11 +135,11 @@ Exemple: | UID | Nom | Type | Niveaux d'unité d'organisation | Mapping guidance | | --- | --- | --- | --- | --- | -| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Region | +| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Région | | `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 4 | Établissement | -| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Region | +| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Région | | `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 4 | Établissement | -| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Region | +| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Région | | `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 4 | Établissement | | `CrxqCiQyhay` | Enrolled patients by facility (cumulative) | visualization (pivot table) | 4 | Établissement | | `PazB6GSITwK` | Missing data report | visualization (pivot table) | 4 | Établissement | diff --git a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md index 71e0c325..51900de3 100644 --- a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md +++ b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__installation-md @@ -137,11 +137,11 @@ Exemple: | UID | Nom | Type | Niveaux d'unité d'organisation | Mapping guidance | |---------------|-------------------------------------------------------------------------|-----------------------------|---------------------------|-------------------------------------| -| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Region | +| `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 3,2 | District, Région | | `vgIrIjzONuV` | Patients with Inh-resistant and Rif-susceptible TB (by health facility) | map (mapview) | 4 | Établissement | -| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Region | +| `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 3,2 | District, Région | | `JUbkmvmNxbB` | RR-TB patients (by health facility) | map (mapview) | 4 | Établissement | -| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Region | +| `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 3,2 | District, Région | | `u4FxBzXoiml` | RR-TB patients resistant to Fq (by health facility) | map (mapview) | 4 | Établissement | | `CrxqCiQyhay` | Enrolled patients by facility (cumulative) | visualization (pivot table) | 4 | Établissement | | `PazB6GSITwK` | Missing data report | visualization (pivot table) | 4 | Établissement | diff --git a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md index 0be9fbcf..acfed721 100644 --- a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md +++ b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__overview-md @@ -9,7 +9,7 @@ tags: ## Note de mise à jour { #release-note } -- [Release Note](#tb-drs-release-note) +- [Note de mise à jour](#tb-drs-release-note) ## Conception { #design } @@ -17,7 +17,7 @@ tags: ## Installation { #installation } -- [Installation Guide](#tb-drs-installation) +- [Guide d'installation](#tb-ERM-installation) ## Référence des métadonnées { #metadata-reference } diff --git a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md index 81ba8813..d2180bd8 100644 --- a/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md +++ b/projects/docs-full-site/fr/TOPICS__METADATA__TUBERCULOSIS__ANTI-TUBERCULOSIS-DRUG-RESISTANCE-SURVEY-DRS__release-note-md @@ -5,7 +5,7 @@ tags: - Métadonnées --- -# Release Note { #tb-drs-release-note } +# Note de mise à jour { #tb-drs-release-note } ## 1.0.2 { #102 } diff --git a/projects/docs-full-site/fr/USE__ANDROID-APP__apk-distribution-md b/projects/docs-full-site/fr/USE__ANDROID-APP__apk-distribution-md index cc373c7d..b7980f71 100644 --- a/projects/docs-full-site/fr/USE__ANDROID-APP__apk-distribution-md +++ b/projects/docs-full-site/fr/USE__ANDROID-APP__apk-distribution-md @@ -18,11 +18,11 @@ Please note that in this version of the Web App, only users with "ALL" authority ## Installation { #capture_app_apk_distribution_webapp_installation } -A user can easily install the Use Case Configuration Web App by logging into the DHIS2 and going to **App Management**. +Un utilisateur peut facilement installer l'application Web de configuration des cas d'utilisation en se connectant à DHIS2 et en allant dans **Gestion des applications**. - Cliquez sur **App Hub** - Go to *APK Distribution App* -- Click on *Install V1.X.X* +- Cliquez sur *Installer V1.X.X* ![](resources/images/capture-app-apk-distribution-app-hub-install.png) ![](resources/images/capture-app-apk-distribution-app-hub-install-webapp.png) @@ -117,8 +117,8 @@ To give access to one or more User Groups: To remove an **Android App version**: 1. Search for the Android app version to delete. -2. Click on "Delete". -3. Click on the "Delete" button. +2. Cliquez sur "Supprimer". +3. Cliquez sur le bouton "Supprimer". ![](resources/images/capture-app-apk-distribution-upload-delete.png) @@ -137,31 +137,31 @@ When downloading a version, the APK will be stored in the device. ![](resources/images/capture-app-apk-distribution-version-list-mobile.png) -## Uninstall the app { #uninstall-the-app } +## Désinstaller l'application { #uninstall-the-app } In case of needing to uninstall the APK Distribution App it is recommended to also delete all the data from the datastore namespace. -#### Delete data { #delete-data } +#### Supprimer les données { #delete-data } - Click on *Erase settings* -- A modal will pop up, click on *Erase* +- Une fenêtre modale s'ouvre, cliquez sur *Effacer*. ![](resources/images/capture-app-apk-distribution-unistall-delete-namespace.png) ![](resources/images/capture-app-apk-distribution-unistall-delete-namespace-modal.png) -#### Uninstall app { #uninstall-app } +#### Désinstaller l'application { #uninstall-app } -- Go to **App Management** -- Click on **Custom Apps** +- Allez dans **Gestion des applications** +- Cliquez sur **Applications personnalisées** - Go to *APK Distribution* -- Click on *Uninstall V1.X.X* +- Cliquez sur *Désinstaller V1.X.X* ![](resources/images/capture-app-apk-distribution-unistall-custom-app.png) ![](resources/images/capture-app-apk-distribution-unistall-apk.png) -> **Warning** +> **Avertissement** > -> This is a critical action, be aware that by doing this, all previous configurations will be permanently deleted. +> Il s'agit d'une action critique ; sachez qu'en procédant ainsi, toutes les configurations antérieures seront définitivement supprimées. diff --git a/projects/docs-full-site/fr/USE__ANDROID-APP__settings-configuration-md b/projects/docs-full-site/fr/USE__ANDROID-APP__settings-configuration-md index 490bea31..872e473e 100644 --- a/projects/docs-full-site/fr/USE__ANDROID-APP__settings-configuration-md +++ b/projects/docs-full-site/fr/USE__ANDROID-APP__settings-configuration-md @@ -754,8 +754,8 @@ In case of needing to uninstall the Android Settings App it is recommended to al #### Uninstall app { #capture_app_android_settings_webapp_uninstall_app } -- Go to **App Management** -- Click on **Custom Apps** +- Allez dans **Gestion des applications** +- Cliquez sur **Applications personnalisées** - Go to *Android Settings App* - Click on *Uninstall V2.X.X* @@ -763,7 +763,7 @@ In case of needing to uninstall the Android Settings App it is recommended to al ![](resources/images/capture-app-unistall-aswa.png) -> **Warning** +> **Avertissement** > -> This is a critical action, be aware that by doing this, all previous configurations will be permanently deleted. +> Il s'agit d'une action critique ; sachez qu'en procédant ainsi, toutes les configurations antérieures seront définitivement supprimées. diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index 40f7a3c9..54556e50 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Installation de l'application BNA { #installing-the-bna-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index 8195b896..69592b86 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Maintenance de l'application BNA { #bna-app-maintenance } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index 6082ffc8..138c372a 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Analyse et interprétation de la BNA { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index 27cd6279..53350280 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Architecture de l'application BNA { #bna-app-architecture } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index b33264b1..23a8005c 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Tableau de bord d'analyse des goulets d'étranglement et Serveur démo { #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index 84b8d462..2aee8452 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Configurations des interventions de l'application BNA { #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index 91f8dc11..abf2969c 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Activités relatives à la visualisation { #visualization-operations } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index 5c2d3bf2..bde1cdc9 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Promouvoir l'utilisation de l'application BNA { #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index 0b15c1cf..97a30862 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Renforcement des capacités { #capacity-building } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index 587e2170..ace3eff1 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Formations des utilisateurs finaux { #end-user-training } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index 5cd209d4..9dd3e75f 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Guide de mise en œuvre de l'application BNA { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index f1c97b04..c6da5b19 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Concepts d'intégration de l'application BNA. { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index d74ec50f..0f0b72ef 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Opportunités et Défis { #opportunities-and-challenges } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index ec9a7130..44344e37 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Planification et organisation { #planning-and-organising } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index 3cadcffa..06fe742d 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Configuration d'une nouvelle application BNA { #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index 28e7bdb9..42b63e33 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Soutien et expansion de l'application BNA { #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index bdb3b9bd..fbcae914 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Utilisation +- App version 1.2.2 --- # Expansion et de durabilité { #scale-up-and-sustainability } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index a0893fbb..86d2b417 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index 50bd31b9..33a6001c 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index 41c7e00f..c80f076e 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index ed79d8bc..56a0b7a1 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index 719d13d0..7ac8c212 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- # À propos de ce guide { #about_this_guide_ } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index 123e5d92..589945b0 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index e9efc858..5f24634e 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index 6f7624d0..5409827e 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 7233e575..b8c08775 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- Version 1.4.0 de l'application - Utilisation +- Version 1.4.0 de l'application --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index c9bfa8da..55fc9862 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Utilisation +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index ebb31862..d3b27b61 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Utilisation +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index 24c5292a..cad4d91b 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - Utilisation +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index c231344f..52486a87 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Utilisation +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 4d7ce9bb..793c725d 100644 --- a/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/fr/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Utilisation +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-237__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-237__CONFIGURING-THE-SYSTEM__user-authorities-md index 61126108..33a74ed8 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-237__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-237__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -12,108 +12,108 @@ tags: ||| |---|---| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | | Add Tracked Entities | F_TRACKED_ENTITY_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour un graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour un document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index b587a7bf..76a646ef 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # A propos du serveur de démonstration, du cluster D2 et de la conception de la base de données { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index b11e3b3a..31836a67 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # DHIS2 - Foire aux questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index 4bc01f95..a77164a1 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Glossaire du DHIS2 { #dhis2_glossary } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 7f7be8f7..3cdaf6ec 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Tutoriels sur le DHIS2 { #dhis2_tutorials } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index c696b66f..4d76f57a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Notes de mise à jour et de mise à niveau { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 57ba0764..acd3e37d 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '22/10/2021' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Gérer les tableaux de bord { #dashboard } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index ee0d1e37..c63e990e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '20/01/2022' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utiliser l'application Visualiseur de données { #data_visualizer } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index 23df7bf8..379581c7 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Rapports d'événements { #event_reports_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index db2b64c8..aca1f3e7 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Event Visualizer { #event_visualizer_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index 05b56b3f..c24eed13 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Line Listing { #using-the-line-listing-app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index 9a4e0feb..cc219f8b 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utiliser l'application Maps { #using_maps } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index 1b1079db..727ce5d7 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Fonctionnalité de Reporting dans l'application Rapports { #using_the_reports_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index c06ef821..25da6a89 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Aperçu de la validation des données { #data_approval_overview } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index 915c469d..34aa1be9 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application de saisie des données { #data_entry_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index 34dd6a46..16618b4e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Contrôler la qualité des données { #control_data_quality } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index dfded92c..dabf7c19 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '07/10/2021' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # À propos du partage d'objets { #sharing } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index ff11e0fe..4cbe193e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configurer l'application Maps { #gis_creating } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 76986f80..3cb76640 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configurer les métadonnées { #maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index 3757a1d2..369d4cdd 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configurer les programmes dans l'application Maintenance { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 444e5a10..eb208f9a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configurer la fonctionnalité de rapport { #setting_up_reporting } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 9d78753a..7cc65c47 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Paramètres du système { #settings } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index 9628d404..88333d35 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Autorités des utilisateurs { #user_authorities } @@ -12,108 +12,108 @@ tags: ||| |---|---| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | | Add Tracked Entities | F_TRACKED_ENTITY_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour un graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour un document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index cd940fe9..7b986a2e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Gérer les utilisateurs, les rôles des utilisateurs et les groupes d'utilisateurs { #manage_user_role_group } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index ca20ce55..a99b7f82 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Application Import/Export { #import_export } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index 9086780d..ab73780f 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configurer la synchronisation des métadonnées { #metadata_sync } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index 6b832749..575832a1 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Configuration des SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index 2a37f679..ac3cfd6c 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Administration des données { #data_admin } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md index 8bea949d..6d1f58d9 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Gestionnaire de base de données { #datastore_manager_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md index a63ac371..5da1a062 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- > **Attention** diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md index 85f4a257..c8d58f40 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/mobile.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md index ed9b4660..432f3625 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Programmation { #scheduling } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 44e6b800..d26e3a1c 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Saisie { #capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 0bad2bc4..721a7885 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Saisie d'événements { #event_capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 2643e8a4..3f217ad4 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Utilisation de l'application Saisie Tracker { #tracker_capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 4d7f8843..41976645 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # À propos des dimensions de donnée { #data_dimensions } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 9bfe2638..a1481c07 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Dimensions supplémentaires des données { #additional_data_dimensions } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index adaa15dc..a53b848c 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Modèle de relation { #relationship_model } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 86c3241c..20839d7f 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/messaging.md" revision_date: '2021-06-14' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Messagerie { #messages } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index e08c5bc5..2d469f35 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- Version principale de DHIS 2.38 - Utilisation +- Version principale de DHIS 2.38 --- # Jetons d'accès personnels { #personal_access_tokens } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md index 60dc4a2f..7096932a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-visualizer.md" revision_date: '20/01/2022' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utiliser l'application Visualiseur de données { #data_visualizer } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md index 3c675cb7..3e503a8b 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application Rapports d'événements { #event_reports_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md index b8b14c07..bbbe93c8 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application Event Visualizer { #event_visualizer_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md index 822b4eaa..8541c04a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application Line Listing { #using-the-line-listing-app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md index 65d57b84..5f785000 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-maps-app.md" revision_date: '2022-09-13' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utiliser l'application Maps { #using_maps } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md index 40b36440..2cf1f0b3 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Fonctionnalité de Reporting dans l'application Rapports { #using_the_reports_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md index 7aface1f..352cff96 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application de saisie des données { #data_entry_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md index 08feba12..31be1dfa 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata.md" revision_date: '2022-10-28' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Configurer les métadonnées { #maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md index 0192d273..855baf8a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Configurer les programmes dans l'application Maintenance { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md index ccc36de5..80d60349 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Autorités des utilisateurs { #user_authorities } @@ -12,108 +12,108 @@ tags: ||| |---|---| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | | Add Tracked Entities | F_TRACKED_ENTITY_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour un graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour un document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md index 14173d05..7987ab80 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Application Import/Export { #import_export } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md index fe5d8aea..94a4ffc2 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Administration des données { #data_admin } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md index d8eeb259..1d06415e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Gestionnaire de base de données { #datastore_manager_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md index a53b7fa2..729fb54a 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- > **Attention** diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md index cbf7fd4e..bcfa5291 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 9b8d3175..fdcb81e3 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application Saisie { #capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 97097198..2707d78c 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Utilisation de l'application Saisie Tracker { #tracker_capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 3b4bea62..b0035368 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS version 2.39 - Utilisation +- DHIS version 2.39 --- # Messagerie { #messages } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md index e743c93a..edf65a60 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/data-visualizer-app/blob/master/docs/data-visualizer.md" revision_date: '2024-04-11' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utiliser l'application Visualiseur de données { #data_visualizer } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md index 08df47cf..731a79a5 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utilisation de l'application Line Listing { #using-the-line-listing-app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md index e3e0f901..cc18e409 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/maps-app/blob/master/docs/maps.md" revision_date: '2024-07-31' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utiliser l'application Maps { #using_maps } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md index 09cc435b..c305ab53 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utilisation de l'application de saisie des données { #data_entry_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md index da5f2af2..b5718784 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-metadata.md" revision_date: '2023-07-20' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Configurer les métadonnées { #maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md index 425673cf..e74b9743 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Configurer les programmes dans l'application Maintenance { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md index 58d62926..86b7f9ca 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Autorités des utilisateurs { #user_authorities } @@ -12,108 +12,108 @@ tags: ||| |---|---| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | | Add Tracked Entities | F_TRACKED_ENTITY_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour un graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour un document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md index e361cd84..0e0cff2e 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-exchange.md" revision_date: '2023-02-14' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utilisation de l'application Data Exchange( Échange de données) { #data_exchange } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md index 725b5509..dabfbfed 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Application Import/Export { #import_export } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md index b1a4d151..708bb88c 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Administration des données { #data_admin } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md index aa20e741..2ed297cc 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- > **Attention** diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md index 8a91fc4a..cbe48b0d 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/mobile.md" revision_date: '2021-06-14' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Mobile { #mobile } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 87ff7544..d2ea2802 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- Utilisation - DHIS Version 2.40 +- Utilisation --- # Utilisation de l'application Saisie { #capture_app } diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-241__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-241__CONFIGURING-THE-SYSTEM__user-authorities-md index f25b35b3..ce38db95 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-241__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-241__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -12,107 +12,107 @@ tags: | | | |----------------------------------------------------------------------|--------------------------------------------------| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour le graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour le document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-MASTER__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-MASTER__CONFIGURING-THE-SYSTEM__user-authorities-md index dce38d4e..f92e79bc 100644 --- a/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-MASTER__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/fr/USE__USER-GUIDES__DHIS-CORE-VERSION-MASTER__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -12,107 +12,107 @@ tags: | | | |----------------------------------------------------------------------|--------------------------------------------------| | Accepter les données aux niveaux inférieurs | F_ACCEPT_DATA_LOWER_LEVELS | -| Access my data mart | F_MYDATAMART_VIEW | +| Accéder à mon data mart | F_MYDATAMART_VIEW | | Ajouter un Établissement | F_FRED_CREATE | | Ajouter une localité | F_LOCALE_ADD | | Ajouter un Ensemble d'Options | F_OPTIONSET_ADD | | Ajouter un Ensemble de Groupe d'Unités d'Organisation | F_ORGUNITGROUPSET_ADD | | Ajouter une Règle du Programme | F_PROGRAM_RULE_ADD | -| Add Public Map | F_MAP_PUBLIC_ADD | -| Add Relationship Type | F_RELATIONSHIPTYPE_ADD | -| Add/Remove Members In Read-Only User Groups | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | -| Add SQL View | F_SQLVIEW_ADD | -| Add Tracked Entity Attribute Value | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | -| Add Tracked Entity Form | F_TRACKED_ENTITY_FORM_ADD | -| Add Tracked Entity Instance Comment | F_TRACKED_ENTITY_COMMENT_ADD | -| Add Tracked Entity Relationship | F_RELATIONSHIP_ADD | -| Add/Update Attribute | F_ATTRIBUTE_ADD | -| Add/Update Chart | F_CHART_ADD | -| Add/Update Concept | F_CONCEPT_ADD | -| Add/Update Constant | F_CONSTANT_ADD | -| Add/Update Data Value | F_DATAVALUE_ADD | -| Add/Update Indicator Type | F_INDICATORTYPE_ADD | -| Add/Update Min/max rule | F_DATAELEMENT_MINMAX_ADD | -| Add/Update Organisation Unit | F_ORGANISATIONUNIT_ADD | -| Add/Update Private Category Option Group | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | -| Add/Update Private Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | -| Add/Update Private Data Element | F_DATAELEMENT_PRIVATE_ADD | -| Add/Update Private Data Element Category | F_CATEGORY_PRIVATE_ADD | -| Add/Update Private Data Element Category Combo | F_CATEGORY_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Category Option | F_CATEGORY_OPTION_PRIVATE_ADD | -| Add/Update Private Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | -| Add/Update Private Data Element Groups | F_DATAELEMENTGROUP_PRIVATE_ADD | -| Add/Update Private Data Element Group Sets | F_DATAELEMENTGROUPSET_PRIVATE_ADD | -| Add/Update Private Data Set | F_DATASET_PRIVATE_ADD | -| Add/Update Private Document | F_DOCUMENT_PRIVATE_ADD | -| Add/Update Private Indicator | F_INDICATOR_PRIVATE_ADD | -| Add/Update Private Indicator Group | F_INDICATORGROUP_PRIVATE_ADD | -| Add/Update Private Indicator Group Sets | F_INDICATORGROUPSET_PRIVATE_ADD | -| Add/Update Private Option Set | F_OPTIONSET_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group | F_ORGUNITGROUP_PRIVATE_ADD | -| Add/Update Private Organisation Unit Group Set | F_ORGUNITGROUPSET_PRIVATE_ADD | -| Add/Update Private Program | F_PROGRAM_PRIVATE_ADD | -| Add/Update Private Report | F_REPORT_PRIVATE_ADD | -| Add/Update Private SQL View | F_SQLVIEW_PRIVATE_ADD | -| Add/Update Private Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | -| Add/Update Private User Group | F_USERGROUP_PRIVATE_ADD | -| Add/Update Private User Role | F_USERROLE_PRIVATE_ADD | -| Add/Update Private Validation Rule Group | F_VALIDATIONRULEGROUP_PRIVATE_ADD | -| Add/Update Program Attribute | F_PROGRAM_ATTRIBUTE_ADD | -| Add/Update Program Indicator | F_ADD_PROGRAM_INDICATOR | -| Add/Update Program Stage | F_PROGRAMSTAGE_ADD | -| Add/Update Program Stage Section | F_PROGRAMSTAGE_SECTION_ADD | -| Add/Update Public Category Option Group | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | -| Add/Update Public Category Option Group Set | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | -| Add/Update Public Chart | F_CHART_PUBLIC_ADD | -| Add/Update Public Dashboard | F_DASHBOARD_PUBLIC_ADD | -| Add/Update Public Data Element | F_DATAELEMENT_PUBLIC_ADD | -| Add/Update Public Data Element Category | F_CATEGORY_PUBLIC_ADD | -| Add/Update Public Data Element Category Combo | F_CATEGORY_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_PUBLIC_ADD | -| Add/Update Public Data Element Category Option | F_CATEGORY_OPTION_DELETE | -| Add/Update Public Data Element Category Option Combo | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | -| Add/Update Public Data Element Groups | F_DATAELEMENTGROUP_PUBLIC_ADD | -| Add/Update Public Data Element Group Sets | F_DATAELEMENTGROUPSET_PUBLIC_ADD | -| Add/Update Public Data Set | F_DATASET_PUBLIC_ADD | -| Add/Update Public Document | F_DOCUMENT_PUBLIC_ADD | -| Add/Update Public Indicator | F_INDICATOR_PUBLIC_ADD | -| Add/Update Public Indicator Group | F_INDICATORGROUP_PUBLIC_ADD | -| Add/Update Public Indicator Group Sets | F_INDICATORGROUPSET_PUBLIC_ADD | -| Add/Update Public Option Set | F_OPTIONSET_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group | F_ORGUNITGROUP_PUBLIC_ADD | -| Add/Update Public Organisation Unit Group Set | F_ORGUNITGROUPSET_PUBLIC_ADD | -| Add/Update Public Program | F_PROGRAM_PUBLIC_ADD | -| Add/Update Public Report | F_REPORT_PUBLIC_ADD | -| Add/Update Public Report Table | F_REPORTTABLE_PUBLIC_ADD | -| Add/Update Public SQL View | F_SQLVIEW_PUBLIC_ADD | -| Add/Update Public Tracked Entity Attribute | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | -| Add/Update Public User Group | F_USERGROUP_PUBLIC_ADD | -| Add/Update Public User Role | F_USERROLE_PUBLIC_ADD | -| Add/Update Public Validation Rule Group | F_VALIDATIONRULEGROUP_PUBLIC_ADD | -| Add/Update Section | F_SECTION_ADD | -| Add/Update Tracked Entity | F_TRACKED_ENTITY_ADD | -| Add/Update Tracked Entity Attributes | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | -| Add/Update Tracked Entity Data Value | F_TRACKED_ENTITY_DATAVALUE_ADD | -| Add/Update Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_ADD | -| Add/Update User | F_USER_ADD | -| Add/Update User Group Managing Relationships | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | -| Add/Update User Within Managed Group | F_USER_ADD_WITHIN_MANAGED_GROUP | -| Add/Update Validation Criteria | F_VALIDATIONCRITERIA_ADD | -| Add/Update Validation Rule | F_VALIDATIONRULE_ADD | -| Add Validation Rule Groups | F_VALIDATIONRULEGROUP_ADD | -| Administrate data mart | F_DATAMART_ADMIN | -| Administrate data mart | F_DATA_MART_ADMIN | -| Administrate data visualizer | F_DV_ADMIN | -| Administrate GIS | F_GIS_ADMIN | -| Approve data | F_APPROVE_DATA | -| Approve data at lower levels | F_APPROVE_DATA_LOWER_LEVELS | -| Archive data | F_ARCHIVE_DATA | -| Change GIS Configuration | F_GIS_CONFIGURATION_UPDATE | -| Change Location of Tracked Entity Instance | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | -| Change order in Data Set | F_DATASET_ORDER_CHANGE | -| Change system settings | F_SYSTEM_SETTING | -| Change Tracked Entity Instance Location | F_TRACKED_ENTITY_CHANGE_LOCATION | +| Ajouter une carte publique | F_MAP_PUBLIC_ADD | +| Ajouter un type de relation | F_RELATIONSHIPTYPE_ADD | +| Ajouter/supprimer des membres dans les groupes d'utilisateurs "lecture uniquement" | F_USER_GROUPS_READ_ONLY_ADD_MEMBERS | +| Ajouter une visualisation SQL | F_SQLVIEW_ADD | +| Ajouter une valeur d'attribut d'entité suivie | F_TRACKED_ENTITY_ATTRIBUTEVALUE_ADD | +| Ajouter un formulaire d'entité suivie | F_TRACKED_ENTITY_FORM_ADD | +| Ajouter un commentaire sur l'instance de l'entité suivie | F_TRACKED_ENTITY_COMMENT_ADD | +| Ajouter une relation d'entité suivie | F_RELATIONSHIP_ADD | +| Ajouter/mettre à jour un attribut | F_ATTRIBUTE_ADD | +| Ajouter/mettre à jour un graphique | F_CHART_ADD | +| Ajouter/mettre à jour un concept | F_CONCEPT_ADD | +| Ajouter/mettre à jour une constante | F_CONSTANT_ADD | +| Ajouter/mettre à jour la valeur des données | F_DATAVALUE_ADD | +| Ajouter/mettre à jour le type d'indicateur | F_INDICATORTYPE_ADD | +| Ajouter/mettre à jour la règle min/max | F_DATAELEMENT_MINMAX_ADD | +| Ajouter/mettre à jour l'unité d'organisation | F_ORGANISATIONUNIT_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie privée | F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD | +| Ajouter/mettre à jour un élément de données privé | F_DATAELEMENT_PRIVATE_ADD | +| Ajouter/mettre à jour la catégorie d'élément de données privées | F_CATEGORY_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données privés | F_CATEGORY_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données privées | F_CATEGORY_OPTION_PRIVATE_ADD | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données privés | F_CATEGORY_OPTION_COMBO_PRIVATE_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données privés | F_DATAELEMENTGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données privés | F_DATAELEMENTGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de données privées | F_DATASET_PRIVATE_ADD | +| Ajouter/mettre à jour un document privé | F_DOCUMENT_PRIVATE_ADD | +| Ajouter/mettre à jour l'indicateur privé | F_INDICATOR_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'indicateurs privés | F_INDICATORGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble de groupes d'indicateurs privés | F_INDICATORGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un ensemble d'options privées | F_OPTIONSET_PRIVATE_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation privée | F_ORGUNITGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation privées | F_ORGUNITGROUPSET_PRIVATE_ADD | +| Ajouter/mettre à jour un programme privé | F_PROGRAM_PRIVATE_ADD | +| Ajouter/mettre à jour un rapport privé | F_REPORT_PRIVATE_ADD | +| Ajouter/mettre à jour une visualisation SQL privée | F_SQLVIEW_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie privée | F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs privé | F_USERGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un rôle d'utilisateur privé | F_USERROLE_PRIVATE_ADD | +| Ajouter/mettre à jour un groupe de règles de validation privées | F_VALIDATIONRULEGROUP_PRIVATE_ADD | +| Ajouter/mettre à jour un attribut de programme | F_PROGRAM_ATTRIBUTE_ADD | +| Ajouter/mettre à jour l'indicateur de programme | F_ADD_PROGRAM_INDICATOR | +| Ajouter/mettre à jour l'étape du programme | F_PROGRAMSTAGE_ADD | +| Ajouter/mettre à jour la section de l'étape du programme | F_PROGRAMSTAGE_SECTION_ADD | +| Ajouter/mettre à jour le groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble du groupe d'options de la catégorie publique | F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD | +| Ajouter/mettre à jour un graphique public | F_CHART_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau de bord public | F_DASHBOARD_PUBLIC_ADD | +| Ajouter/mettre à jour un élément de données publiques | F_DATAELEMENT_PUBLIC_ADD | +| Ajouter/mettre à jour la catégorie d'éléments de données publiques | F_CATEGORY_PUBLIC_ADD | +| Ajouter/mettre à jour la combinaison de catégorie d'éléments de données publiques | F_CATEGORY_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_PUBLIC_ADD | +| Ajouter/mettre à jour l'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_DELETE | +| Ajouter/mettre à jour la combinaison d'option de catégorie d'éléments de données publiques | F_CATEGORY_OPTION_COMBO_PUBLIC_ADD | +| Ajouter/mettre à jour les groupes d'éléments de données publiques | F_DATAELEMENTGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'éléments de données publiques | F_DATAELEMENTGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour un ensemble de données publiques | F_DATASET_PUBLIC_ADD | +| Ajouter/mettre à jour un document public | F_DOCUMENT_PUBLIC_ADD | +| Ajouter/mettre à jour l'indicateur public | F_INDICATOR_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'indicateurs publics | F_INDICATORGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour les ensembles de groupes d'indicateurs publics | F_INDICATORGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble d'options publiques | F_OPTIONSET_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe d'unités d'organisation publique | F_ORGUNITGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour l'ensemble de groupe d'unités d'organisation publique | F_ORGUNITGROUPSET_PUBLIC_ADD | +| Ajouter/mettre à jour le programme public | F_PROGRAM_PUBLIC_ADD | +| Ajouter/mettre à jour le rapport public | F_REPORT_PUBLIC_ADD | +| Ajouter/mettre à jour le tableau du rapport public | F_REPORTTABLE_PUBLIC_ADD | +| Ajouter/mettre à jour une vue SQL publique | F_SQLVIEW_PUBLIC_ADD | +| Ajouter/mettre à jour un attribut d'entité suivie publique | F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD | +| Ajouter/mettre à jour un groupe d'utilisateurs publics | F_USERGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour le rôle d'utilisateur public | F_USERROLE_PUBLIC_ADD | +| Ajouter/mettre à jour le groupe de règles de validation publique | F_VALIDATIONRULEGROUP_PUBLIC_ADD | +| Ajouter/mettre à jour une section | F_SECTION_ADD | +| Ajouter/mettre à jour une entité suivie | F_TRACKED_ENTITY_ADD | +| Ajouter/mettre à jour les attributs des entités suivies | F_ALLOW_EDIT_TRACKED_ENTITY_ATTRIBUTES | +| Ajouter/mettre à jour la valeur des données de l'entité suivie | F_TRACKED_ENTITY_DATAVALUE_ADD | +| Ajouter/mettre à jour l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_ADD | +| Ajouter/mettre à jour l'utilisateur | F_USER_ADD | +| Ajouter/mettre à jour le groupe d'utilisateurs de gestion des relations | F_USERGROUP_MANAGING_RELATIONSHIPS_ADD | +| Ajouter/mettre à jour un utilisateur au sein d'un groupe géré | F_USER_ADD_WITHIN_MANAGED_GROUP | +| Ajouter/mettre à jour les critères de validation | F_VALIDATIONCRITERIA_ADD | +| Ajouter/mettre à jour la règle de validation | F_VALIDATIONRULE_ADD | +| Ajouter des groupes de règles de validation | F_VALIDATIONRULEGROUP_ADD | +| Administrer le datamart | F_DATAMART_ADMIN | +| Administrer le datamart | F_DATA_MART_ADMIN | +| Administrer le visualiseur de données | F_DV_ADMIN | +| Administrer le SIG | F_GIS_ADMIN | +| Approuver les données | F_APPROVE_DATA | +| Approuver les données aux niveaux inférieurs | F_APPROVE_DATA_LOWER_LEVELS | +| Archiver les données | F_ARCHIVE_DATA | +| Modifier la configuration du SIG | F_GIS_CONFIGURATION_UPDATE | +| Modifier l'emplacement de l'instance d'entité suivie | F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION | +| Modifier l'ordre dans l'ensemble de données | F_DATASET_ORDER_CHANGE | +| Modifier les paramètres du système | F_SYSTEM_SETTING | +| Modifier l'emplacement de l'instance de l'entité suivie | F_TRACKED_ENTITY_CHANGE_LOCATION | | Chart External Access | F_CHART_EXTERNAL | | Concept Management | F_CONCEPT_MANAGEMENT | | Constant Management | F_CONSTANT_MANAGEMENT | diff --git a/projects/docs-full-site/pt/.cache_timestamp b/projects/docs-full-site/pt/.cache_timestamp index 9273271b..0833dd43 100644 --- a/projects/docs-full-site/pt/.cache_timestamp +++ b/projects/docs-full-site/pt/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:21:09Z \ No newline at end of file +2024-11-05T21:24:29Z \ No newline at end of file diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md index 331a4009..2aaba92c 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/developer/web-api/metadata.md" revision_date: '2024-04-26' tags: -- DHIS core version 2.40 - Desenvolver +- DHIS core version 2.40 --- # Metadata { #metadata } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md index f277d2d4..dd235c89 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/analytics.md" revision_date: '2024-05-02' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Analytics { #analytics } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md index e446aa20..fcfdbcb6 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Apps { #apps } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md index 21ded85e..19cae612 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/audit.md" revision_date: '2023-06-23' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Auditoria { #audit } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md index 1e9d1e82..f0820ea8 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Aprovação de dados { #data-approval } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md index d9c79e08..32862c5c 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md index 9c962b4f..3127e441 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-exchange.md" revision_date: '2024-06-26' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Data exchange { #data-exchange } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md index e9f4aa67..43c58320 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Banco de dados { #data-store } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md index 35d95e77..0b5723e0 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # O email { #email } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md index 867f2f51..5516ee18 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md index beda5554..cdf6f028 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # I18n { #i18n } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md index 19ce70bd..ff8ea11e 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Visão Geral { #webapi } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md index aa74cf11..1cf44678 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Manutenção { #maintenance } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md index 655759de..56fda3ab 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Mensagens { #messaging } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md index e162afde..b383df04 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md index bf9d8eda..ce9bf6c5 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Metadata { #metadata } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md index 44eb8251..0cc72365 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Organisation unit profile { #org_unit_profile } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md index 0c2e65e3..eb52ee4e 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md index 2a52b5af..e9bea6e5 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/route.md" revision_date: '2024-09-24' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Route { #route } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md index 65c3b164..177a0856 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Agendamento { #webapi_scheduling } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md index cc9244dd..8e12e494 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Settings and configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md index 135f7054..70750ca5 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Partilha { #sharing } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md index b32a67ea..ea5c5cbc 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # SMS { #sms } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md index b7e69fb7..6a51e971 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Sincronização { #webapi_synchronization } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md index 6cceec0e..dcca0a06 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker-old.md" revision_date: '2024-05-23' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Tracker (deprecated APIs) { #tracker-deprecated-apis } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md index f7ee1fcc..29183624 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker.md" revision_date: '2024-07-02' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Tracker { #tracker } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md index 184babb6..26d684a9 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Desenvolver - DHIS core version 2.41 +- Desenvolver --- # Comercial { #users } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index fa3fd48d..c776df71 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,9 +1,9 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Analytics { #analytics } @@ -326,12 +326,15 @@ below. above called "Date and period format" for the period format and available relative periods. - - For the organisation unit dimension, you can specify the items to be - the organisation unit or sub-units of the organisation unit - associated with the user currently authenticated for the request - using the keys `USER_ORGUNIT` or `USER_ORGUNIT_CHILDREN` as items, - respectively. You can also specify organisation unit identifiers - directly, or a combination of both. + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - For the organisation unit dimension, you can specify the organisation hierarchy level and the boundary unit to use for the request on the diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md index a569f076..9e7d6942 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Apps { #apps } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md index 5a731322..0bcdcb82 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/audit.md" revision_date: '2024-06-24' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Auditoria { #audit } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md index 29f8c0d4..3e6f1a9d 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Aprovação de dados { #data-approval } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md index 864c5305..02872c3a 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md index 3eb423ef..9d319670 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-exchange.md" revision_date: '2024-09-18' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Data exchange { #data-exchange } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md index d55f1ef1..1c6759b2 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data.md" revision_date: '2024-05-23' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Data { #data } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md index 966174dd..55124175 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Banco de dados { #data-store } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md index 63e3739c..5ac66fbf 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-validation.md" revision_date: '2024-03-13' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Data validation { #data-validation } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md index 20665e74..c1c1ebea 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # O email { #email } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md index 90dfaab0..d9ebedcb 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md index 027dca99..23199cbe 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # I18n { #i18n } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md index 0b3d7754..c06d8cac 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Visão Geral { #webapi } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md index 8ef2d425..dac366ca 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Manutenção { #maintenance } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md index 0cd13154..de235d93 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Mensagens { #messaging } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md index 4d60d3ed..fe3a4969 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index af4ea5bf..c4e39a10 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Metadata { #webapi_metadata } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md index 4bb08dab..e1403e5d 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Organisation unit profile { #org_unit_profile } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md index d42c2ef5..f82b6532 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md index 03541e84..b5d55290 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/route.md" revision_date: '2024-05-15' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Route { #route } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md index c853ca48..6b71049b 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Agendamento { #webapi_scheduling } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md index fd9c1e09..cb4f90f9 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Settings and configuration { #settings-and-configuration } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md index 66193635..c40dd89e 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Partilha { #sharing } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md index 0cc81019..3d0e1df9 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # SMS { #sms } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md index 445138c2..32bd8678 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Sincronização { #webapi_synchronization } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index dd6d5fb4..3f0dfe25 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Tracker { #webapi_tracker } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md index 1bc55a7b..33fb9fa6 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Comercial { #users } diff --git a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md index 4cc8c3b5..40872d5e 100644 --- a/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md +++ b/projects/docs-full-site/pt/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/visualizations.md" revision_date: '2024-03-05' tags: -- Desenvolver - DHIS core version master +- Desenvolver --- # Visualizações { #visualizations } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index 045dc6ec..0ab1a50b 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Implementar - DHIS core version 2.35 - Android app version 2.3.0 -- Implementar --- # DHIS2 Android App version 2.3 Release Note { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index a4dd1273..a5946a54 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Implementar - Android app version 2.4.0 - DHIS core version 2.36 -- Implementar --- # DHIS2 Android App version 2.4 Release Notes { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index c49f368d..06a04fd4 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core version 2.37 -- Android app version 2.5.0 - Implementar +- Android app version 2.5.0 --- # DHIS2 Android App version 2.5 Release Notes { #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md index d0bf770c..d146978b 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.6/ReleaseNote-2.6.0.md" revision_date: '2022-04-18' tags: -- DHIS core version 2.38 -- Android app version 2.6.0 - Implementar +- Android app version 2.6.0 +- DHIS core version 2.38 --- # DHIS2 Android App version 2.6 Release Notes { #dhis2-android-app-version-26-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index 813d7fd2..2500fdaf 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Implementar - Android app version 2.7.0 - DHIS core version 2.39 -- Implementar --- # DHIS2 Android App version 2.7 Release Notes { #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index b35bc2ed..edc24e15 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Android app version 2.8.0 -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 +- Android app version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md index 01717350..57783256 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/2.9/android-releases/2.9/ReleaseNote-2.9.0.md" revision_date: '2023-11-20' tags: -- Android app version 2.9.0 -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 +- Android app version 2.9.0 --- # DHIS2 Android App version 2.9 Release Notes { #dhis2-android-app-version-29-release-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index 7f88a8d4..a35e928d 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Implementar +- DHIS core version 2.35 --- # DHIS version 2.35 Release Note { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index 2ba1607b..6c1503ea 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Implementar +- DHIS core version 2.35 --- # 2.35 Upgrade Notes { #235-upgrade-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 3c33d2c2..a25517e9 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Implementar +- DHIS core version 2.36 --- # DHIS version 2.36 Release Note { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index 6ff86dfd..3a2bb58e 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Implementar +- DHIS core version 2.36 --- # 2.36 Upgrade Notes { #236-upgrade-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md index 979a4429..3b3139e6 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/ReleaseNote-2.38.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.38 - Implementar +- DHIS core version 2.38 --- # DHIS version 2.38 Release Note { #dhis-version-238-release-note } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md index 530c9371..a3338ef5 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.38 - Implementar +- DHIS core version 2.38 --- # 2.38 Upgrade Notes { #238-upgrade-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index d5fcc89b..bde61644 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS core version 2.39 - Implementar +- DHIS core version 2.39 --- # DHIS version 2.39 Release Note { #dhis-version-239-release-note } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index 15a4957c..a3fa8aae 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.39 - Implementar +- DHIS core version 2.39 --- # 2.39 Upgrade Notes { #239-upgrade-notes } diff --git a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 53159870..9e5fa8ff 100644 --- a/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/pt/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.40 - Implementar +- DHIS core version 2.40 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..dc72407c --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Auditoria { #audit } + +## Introdução { #introduction } + +DHIS2 supports a new audit service based on _Apache ActiveMQ Artemis_. Artemis is used as an asynchronous messaging system by DHIS2. + +After an entity is saved to database, an audit message will be created and sent to the Artemis message consumer service. The message will then be processed in a different thread. + +Audit logs can be retrieved from the DHIS2 database. Currently there is no UI or API endpoint available for retrieving audit entries. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Tabela de auditoria única { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Coluna | Modelo | Descrição | +| --- | --- | --- | +| auditid | inteiro | Primary key. | +| tipo de auditoria | texto | LEIA, CRIE, ATUALIZE, APAGUE, PESQUISA | +| Escopo de auditoria | texto | METADATA, AGGREGATE, TRACKER | +| klass | texto | Audit Entity Java class name. | +| atributos | jsonb | A JSON string with attributes of the audited object. Example: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| dados | tchau | Compressed JSON string of the audit entity in byte array format (not humanly readable). | +| criado em | carimbo de data / hora sem fuso horário | Time of creation. | +| criado por | texto | Username of the user performing the audited operation. | +| uid | texto | The UID of the audited object. | +| código | texto | The code of the audited object. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## Escopo de auditoria { #audit_scope } + +An audit scope is a logical area of the application which can be audited. Currently there are three audit scopes. + +| Scope | Chave | Audited objects | +| --- | --- | --- | +| Tracker | TRACKER | Tracked Entity Instance, Tracked Entity Attribute Value, Enrollment, Event. | +| Metadados | METADATA | All metadata objects (e.g. Data Element, Organisation Unit). | +| Agregado | AGGREGATE | Aggregate Data Value. | + +## Tipo de Auditoria { #audit_type } + +An audit type is an action that triggers an audit operation. Currently we support the following four types. + +| Nome | Chave | Descrição | +| -------- | -------- | ------------------- | +| Read | READ | Object was read. | +| Create | CREATE | Object was created. | +| Update | UPDATE | Object was updated. | +| Excluir | EXCLUIR | Object was deleted. | +| Disabled | DISABLED | Disable audit. | + +> **Caution** +> +> The READ audit type may generate a lot of data in the database and may have an impact on the performance. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Coluna | Modelo | Descrição | +| --- | --- | --- | +| trackedentityinstanceauditid | inteiro | Primary key. | +| trackedentityinstance | texto | Tracked entity instance name. | +| created | carimbo de data / hora sem fuso horário | Time of creation. | +| accessedby | texto | Username of the user performing the audited operation. | +| tipo de auditoria | texto | LEIA, CRIE, ATUALIZE, APAGUE, PESQUISA | +| comment | texto | The code of the audited object. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Coluna | Modelo | Descrição | +| --- | --- | --- | +| trackedentityattributevalueauditid | inteiro | Primary key. | +| trackedentityinstanceid | inteiro | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | inteiro | Attribute ID. | +| created | carimbo de data / hora sem fuso horário | Time of creation. | +| modifiedby | texto | Username of the user performing the audited operation. | +| tipo de auditoria | texto | LEIA, CRIE, ATUALIZE, APAGUE, PESQUISA | +| value | texto | The value of the audited object. | +| encryptedvalue | texto | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Coluna | Modelo | Descrição | +| --- | --- | --- | +| trackedentitydatavalueauditid | inteiro | Primary key. | +| programstageinstanceid | inteiro | Program stage ID of which the data value belongs to. | +| dataelementid | inteiro | ID of the data element. | +| created | carimbo de data / hora sem fuso horário | Time of creation. | +| modifiedby | texto | Username of the user performing the audited operation. | +| tipo de auditoria | texto | LEIA, CRIE, ATUALIZE, APAGUE, PESQUISA | +| value | texto | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## Quebrando o vidro { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| Coluna | Modelo | Descrição | +| --- | --- | --- | +| programtempownershipauditid | inteiro | Primary key. | +| programid | inteiro | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | inteiro | Instance ID of which the attribute value belongs to. | +| created | carimbo de data / hora sem fuso horário | Time of creation. | +| accessedby | texto | Username of the user performing the audited operation. | +| reason | texto | The reason as inserted in the dialog. | + +## Configurar { #audit_configuration } + +The audit system is enabled by default for the following scopes and types. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Types: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +This means that **no action is required** to enable the default audit system. The default setting is equivalent to the following `dhis.conf` configuration. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +The audit can be configured using the _audit matrix_. The audit matrix represents the valid combinations of scopes and types, and is defined with the following properties in the `dhis.conf` configuration file. Each property accepts a semicolon (`;`) delimited list of audit types. + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## Exemplos { #examples } + +This section demonstrates how to configure the audit system in `dhis.conf`. + +To enable audit of create and update of metadata and tracker only: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +To only audit tracker related objects create and delete: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +To completely disable audit for all scopes: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..10873c93 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Visão Geral { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuração { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..5b5df86b --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Deployment Architectures { #deployment-architectures } + +## Introdução { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Descrição| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..572c4927 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introdução { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +As versões posteriores do DHIS2 requerem as seguintes versões de software para funcionar. + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. Extensão de banco de dados PostGIS versão 2.2 ou posterior. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Tarefa| Descrição | Status | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Mês|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Treinamento|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|Julho|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..e3c6d4c4 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Gerir +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Inicie o servidor + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/pt/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/pt/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..902971c6 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Gerir +--- + +# Usando Gateways para relatórios de SMS { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +O envio de SMS, ou seja, do servidor DHIS2 para dispositivos móveis, é relativamente simples de configurar. Se tudo o que for necessário for o envio de notificações para os telefones dos usuários do DHIS2 quando determinados eventos ocorrerem (mensagens, limites e.t.c.), apenas o envio de SMS é necessário. + +Tudo isso pode ser configurado na página Configuração do serviço SMS na [seção Configuração móvel] (https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +There is out of the box support for common providers such as *Bulk SMS* and *Clickatell*, and both providers support sending of SMS to numbers in most countries. + +Observe também que é possível usar um gateway de SMS diferente para enviar e receber SMS. Portanto, mesmo que você configure uma solução de recebimento de SMS abaixo, ainda é possível usar uma das soluções acima mencionadas para o envio de SMS. + +## Usando um dispositivo Android como gateway de SMS { #sms_report_android_gateway } + +De longe, a solução mais simples é usar um dispositivo Android dedicado como seu SMS Gateway. Qualquer telefone ou tablet com sistema operacional Android (4.4, Kitkat ou superior) deve funcionar. Exigirá uma conexão constante com a Internet para encaminhar mensagens para o servidor DHIS2 e também precisará de um cartão SIM para receber o SMS. + +Você precisará baixar e instalar o aplicativo DHIS2 Android SMS Gateway no dispositivo móvel. Veja uma lista de [lançamentos] (https://github.com/dhis2/dhis2-sms-android-gateway/releases) onde você pode baixar o arquivo APK mais recente para instalar. Existem instruções na própria página do aplicativo, mas basicamente você só precisa iniciar o aplicativo e inserir os detalhes do seu servidor DHIS2 (URL, nome de usuário e senha). + +Assim que estiver configurado e em execução, você deve inserir o número de telefone deste dispositivo de gateway na página de configuração de qualquer outro dispositivo móvel usando o aplicativo DHIS2 Capture. Então, quando SMS são enviados a partir desses dispositivos de relatório, eles serão recebidos no dispositivo de gateway e automaticamente encaminhados para o servidor DHIS2 onde serão processados. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Envio de SMS usando um gateway de dispositivo Android { #sending-sms-using-an-android-device-gateway } + +Esta opção não é atualmente suportada nem documentada. + +## Gateways de SMS dedicados { #sms_report_dedicated_gateway } + +Esta seção discute o uso de gateways SMS mais permanentes e dedicados e as opções disponíveis. Cada uma dessas opções abaixo envolverá um provedor (ou você) com uma conexão SMPP com uma operadora de telefone no país e usando essa conexão para receber SMS e encaminhá-los para o seu servidor DHIS2 pela Internet usando HTTP. + +Essas soluções podem usar um ** número longo ** ou ** código curto **. Um número longo é um número de telefone celular padrão do tipo que a maioria das pessoas usa, ou seja, +61 400123123. Um código curto é simplesmente um número curto, como 311. Códigos curtos geralmente custam mais para configurar e manter. + +### Garantir que o SMS de entrada para o servidor DHIS2 seja formatado corretamente { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +When sending incoming SMS to a DHIS2 server via the API you use the following URL: *https:///api/sms/inbound* + +No DHIS2 versão 2.34 e abaixo, este endpoint requer que o formato do SMS de entrada esteja em um formato muito específico, ou seja, a própria mensagem deve ser um parâmetro chamado texto, o número de telefone do remetente deve ser um parâmetro chamado originador. + +Ao usar todas as opções de gateway de SMS abaixo, ao configurá-los para encaminhar SMS de entrada para outro serviço da web, cada um terá seu próprio formato, que será diferente daquele esperado pela API DHIS2. Por esse motivo, é necessário reformatá-los antes de enviá-los para o servidor DHIS2. + +Uma opção é executar seu próprio serviço web muito simples, que simplesmente recebe o SMS de entrada do provedor de gateway, reformata-o para o necessário para DHIS2 e o encaminha para sua API DHIS2. Esse serviço precisaria ser escrito por um desenvolvedor de software. + +Na versão 2.35 do DHIS2, está planejado o suporte a esses casos com um sistema de templates para SMS de entrada, para que você possa especificar o formato das mensagens que serão enviadas de seu provedor. Dessa forma, você pode configurar o servidor DHIS2 para aceitar SMS de entrada de qualquer outro provedor de gateway de SMS e eles podem enviar SMS de entrada diretamente para a API DHIS2, sem a necessidade de tal serviço da web de formatação. + +### Usando RapidPro { #using-rapidpro } + +[RapidPro] (https://rapidpro.io/) é um serviço executado pela UNICEF em mais de 50 países ao redor do mundo. É uma coleção de software que funciona com operadoras de telefonia locais para permitir que as organizações desenvolvam soluções de SMS para seus projetos, como relatórios de SMS ou campanhas de conscientização. + +O serviço RapidPro envolverá uma conexão SMPP a uma ou mais operadoras de telefonia no país, geralmente por meio de um código de acesso, potencialmente dedicado ao trabalho de saúde para ONGs. É então possível adicionar um webhook para que os SMS recebidos sejam encaminhados para outro serviço da web, como o serviço de formatação da web descrito acima. Se o código de acesso também for usado para outros fins, pode ser necessário adicionar os números de telefone de seus dispositivos de relatório a um grupo separado, de modo que apenas o SMS recebido desses dispositivos seja encaminhado para o webhook. + +RapidPro está atualmente configurado e funcionando em cerca de metade dos países que estão usando ou pilotando DHIS2. Antes de considerar uma das soluções abaixo, que podem ser caras em termos de finanças e tempo, vale a pena entrar em contato com o Unicef para saber se o RapidPro está disponível e se pode ser usado para relatórios de saúde em seu país. + +### Usando provedores de gateway de SMS comerciais { #using-commercial-sms-gateway-providers } + +Of the commercial SMS gateway providers mentioned in the Sending SMS section above, they will usually have capability to *send* SMS in most countries but can only support *receiving* SMS in a limited amount of countries. The majority of countries they support receiving SMS in are not those using DHIS2. Of the countries that are using DHIS2, most are already covered by having a RapidPro service running in-country. + +Porém, vale a pena pesquisar quais opções comerciais estão disponíveis para o seu país. Em alguns países, haverá pequenas empresas nacionais que fornecem serviços de SMS, elas terão conexões SMPP existentes com as operadoras de telefonia que você pode usar. + +### Usando operadoras de telefonia diretamente { #using-phone-carriers-directly } + +Se nenhuma das soluções acima estiver disponível, será necessário entrar em contato diretamente com as operadoras de telefone em seu país. A primeira pergunta a ser feita seria se eles estão cientes de alguma empresa que esteja operando conexões SMPP com eles e que você possa abordar. + +Do contrário, como opção final, você precisará considerar a configuração e manutenção de sua própria conexão SMPP com a operadora de telefonia. No entanto, nem todas as operadoras de telefonia oferecem esse serviço. + +Você precisaria rodar seu próprio servidor rodando um software como [Kannel] (https://www.kannel.org/), que se conecta (geralmente através de uma VPN) a um serviço SMPP rodando na rede das operadoras de telefonia. Com isso em vigor, qualquer SMS recebido para o número longo configurado ou código curto é enviado da operadora de telefone para o servidor Kannel e você pode então encaminhar essas mensagens como acima. + +### Recebendo SMS concatenado ou multiparte { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +Ao selecionar um gateway de SMS, é importante confirmar se a operadora de telefone usada oferece suporte a SMS concatenados. A maioria deles oferece suporte para isso, mas é importante confirmar, pois a funcionalidade SMS não funcionará se o SMS for dividido. Isso se baseia em algo chamado UDH (cabeçalho de dados do usuário). Ao discutir com os provedores, certifique-se de perguntar se há suporte. + diff --git a/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..8bcff698 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..34db959a --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Criação de um usuário para executar DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> ** Importante ** +> +> Você não deve executar o servidor DHIS2 como um usuário privilegiado, como root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Criação do diretório de configuração { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## Instalação PostgreSQL { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Instalação Java { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Instalação +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Verifique se sua instalação está correta invocando: +``` +java -version +``` + +## DHIS2 configuration { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +A configuration file for PostgreSQL corresponding to the above setup has +these properties: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Instalação do Tomcat e DHIS2 { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Executando DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..613ff89a --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/pt/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/pt/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..8b521ba7 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Cloud Hosting { #cloud-hosting } + +## Introdução { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/pt/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/pt/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..a40c1e08 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Physical Hosting { #physical-hosting } + +## Introdução { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/pt/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/pt/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..22294975 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Requisitos { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusão { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/pt/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/pt/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..79485838 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +# Configuração de cluster de servidor web { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Visão geral do clustering { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +There are a few aspects to configure in order to run DHIS 2 +in a cluster. + +* A Redis data store must be installed and connection information must +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +apps and file uploads, either through the *AWS S3 cloud filestorage* option +or a shared network drive. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +across the cluster instances. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Configuração de cluster de armazenamento de dados compartilhados do Redis { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Specifies where the redis server is running. Defaults to *localhost*. Mandatory. + +- *redis.port*: Specifies the port in which the redis server is listening. Defaults to *6379*. Optional. + +- *redis.password*: Specifies the authentication password. If a password is not required it can be left blank. + +- *redis.use.ssl*: Specifies whether the Redis server has SSL enabled. Defaults to false. Optional. Defaults to *false*. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Configuração da pasta de arquivos { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +Existem duas maneiras de obter um local compartilhado: + +* Use the *AWS S3 cloud filestorage* option. Files will be stored in an +S3 bucket which is automatically shared by all DHIS 2 instances in the cluster. +See the *File store configuration* section for guidance. +* Set up a shared folder which is shared among all DHIS 2 instances and +servers in the cluster. On Linux this can be achieved with *NFS* (Network File System) +which is a distributed file system protocol. Note that only the `files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## Configuração do balanceador de carga { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/pt/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/pt/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..b4224056 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..d0f8df6b --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Configuração de criptografia { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +`` `propriedades +criptografia.password = xxxx +`` ` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## Configuração do sistema { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +Sets the system in read-only mode. This is useful when you run DHIS 2 on a read-only replica database, to avoid DHIS 2 performing database write operations. Can be `on` or `off`. Default is `off`. + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +Enables or disables the sensitive database table protection for SQL views. This will prohibit database tables with sensitive data to be queried through SQL views. Disabling is not recommended. Can be `on` or `off`. Default is `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Enables or disables execution of server-side program rules. This refers to program rules which have actions for assigning values, sending messages or scheduling messages to be sent. Can be `on` or `off`. Default is `on`. + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..854944ea --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Configuração de armazenamento de arquivos { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..fc273d79 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Configuração da conta de serviço do Google { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Create a Google service account. Please consult the [Google identify + platform](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + documentation. + + - Visit the [Google cloud console](https://console.cloud.google.com) + and go to API Manager \> Credentials \> Create credentials \> + Service account key. Select your service account and JSON as key + type and click Create. + + - Rename the JSON key to *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..7e990327 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Gerir +--- + +## Configuração LDAP { #install_ldap_configuration } + +DHIS2 is capable of using an LDAP server for authentication of users. +For LDAP authentication it is required to have a matching user in the +DHIS2 database per LDAP entry. The DHIS2 user will be used to represent +authorities / user roles. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +As propriedades de configuração do LDAP são explicadas abaixo: + +- *ldap.url:* The URL of the LDAP server for which to authenticate + against. Using SSL/encryption is strongly recommended in order to + make authentication secure. As example URL is + *ldaps://domain.org:636*, where ldaps refers to the protocol, + *domain.org* refers to the domain name or IP address, and *636* + refers to the port (636 is default for LDAPS). +- *ldap.manager.dn:* An LDAP manager user is required for binding to + the LDAP server for the user authentication process. This property + refers to the DN of that entry. I.e. this is not the user which will + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* The password for the LDAP manager user. +- *ldap.search.base:* The search base, or the distinguished name of + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* The filter for matching DNs of entries in the + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..70bebdc8 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +# Log de aplicativos { #install_application_logging } + +This section covers application logging in DHIS2. + +## Arquivos de log { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Configuração de log { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Common log levels are `DEBUG`, `INFO`, `WARN` and `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..1f592f53 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Gerir +--- + +# Monitoramento { #monitoring } + +## Introdução { #monitoring } + +DHIS2 pode exportar [Prometheus] (https://prometheus.io/) métricas compatíveis para monitorar nós DHIS2. + +Esta seção descreve as etapas necessárias para instalar o Prometheus e o [Grafana] (https://grafana.com/) usando um procedimento de instalação padrão (`apt-get`) e o Docker e configurar o Grafana para mostrar as métricas DHIS2. + +Para obter uma lista das métricas expostas por uma instância DHIS2, consulte o guia de monitoramento no [GitHub] (https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Configurar { #monitoring_setup } + +As próximas seções descrevem como configurar o Prometheus e o Grafana e como configurar o Prometheus para extrair dados de uma ou mais instâncias DHIS2. + +### Instalando Prometheus + Grafana no Ubuntu e Debian { #prometheus } + +- Baixe o Prometheus da página oficial de [download] (https://prometheus.io/download/). + +- Certifique-se de filtrar por seu sistema operacional e arquitetura de CPU (Linux e amd64). + +- Certifique-se de selecionar a versão estável mais recente, e não a “rc”, pois ela não é considerada estável o suficiente por enquanto. + +- Baixe o arquivo, clicando no link ou usando `wget`. + +`` ` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +`` ` + +- Descompacte o zip + +`` ` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +`` ` + +O arquivo contém muitos arquivos importantes, mas aqui estão os principais que você precisa saber. + +- `prometheus.yml`: o arquivo de configuração do Prometheus. Este é o arquivo que você vai modificar para ajustar seu servidor Prometheus, por exemplo, para alterar o intervalo de coleta ou para configurar alertas personalizados; +- `prometheus`: o binário para seu servidor Prometheus. Este é o comando que você executará para iniciar uma instância do Prometheus em sua máquina Linux; +- `promtool`: este é um comando que você pode executar para verificar a configuração do Prometheus. + +### Configurando o Prometheus como um serviço { #prometheus_service } + +- Crie um usuário `Prometheus` com um grupo` Prometheus`. + +`` ` +useradd -rs / bin / false prometheus +`` ` + +- Mova os binários do Prometheus para o diretório bin local + +`` ` +cd prometheus-2.15.2.linux-amd64 / +cp prometheus promtool / usr / local / bin +chown prometheus: prometheus / usr / local / bin / prometheus +`` ` + +- Crie uma pasta na pasta `/ etc` para o Prometheus e mova os arquivos do console, as bibliotecas do console e o arquivo de configuração do prometheus para esta pasta recém-criada. + +`` ` +mkdir / etc / prometheus +cp -R consoles / console_libraries / prometheus.yml / etc / prometheus +`` ` + +Crie uma pasta de dados no diretório raiz, com uma pasta prometheus dentro. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Crie um serviço Prometheus { #prometheus_create_service } + +Para criar um serviço Prometheus _systemd_, vá para a pasta `/ lib / systemd / system` e crie um novo arquivo systemd chamado` prometheus.service`. + +`` ` +cd / lib / systemd / system +toque em prometheus.service +`` ` + +- Edite o arquivo recém-criado e cole o seguinte conteúdo dentro: + +`` `propriedades +[Unidade] +Descrição = Prometheus +Want = network-online.target +Depois de = network-online.target + +[Serviço] +Tipo = simples +Usuário = prometheus +Grupo = prometheus +ExecStart = / usr / local / bin / prometheus \ + --config.file = / etc / prometheus / prometheus.yml \ + --storage.tsdb.path = "/ data / prometheus" \ + --web.console.templates = / etc / prometheus / consoles \ + --web.console.libraries = / etc / prometheus / console_libraries \ + --web.listen-address = 0.0.0.0: 9090 \ + --web.enable-admin-api + +Reiniciar = sempre + +[Instalar] +WantedBy = multi-user.target +`` ` + +- Salve o arquivo e ative o serviço Prometheus na inicialização + +`` ` +systemctl enable prometheus +systemctl start prometheus +`` ` + +- Teste se o serviço está funcionando + +`` ` +systemctl status prometheus + +... +Ativo: ativo (em execução) +`` ` + +- Agora deve ser possível acessar a IU do Prometheus acessando `http: // localhost: 9090`. + + +### Configurar proxy reverso Nginx { #prometheus_nginx } + +O Prometheus não oferece suporte nativo à autenticação ou criptografia TLS. Se o Prometheus tiver que ser exposto fora dos limites da rede local, é importante habilitar a autenticação e a criptografia TLS. As etapas a seguir mostram como usar o Nginx como proxy reverso. + +- Instale o Nginx, se ainda não estiver instalado + +`` ` +atualização apt +apt-get install nginx +`` ` + +Por padrão, o Nginx começará a escutar as solicitações HTTP na porta `http` padrão, que é` 80`. + +Se já houver uma instância do Nginx em execução na máquina e você não souber em qual porta ela está escutando, execute o seguinte comando: + +`` ` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *: http (LISTEN) +`` ` + +A última coluna mostra a porta usada pelo Nginx (`http` ->` 80`). + +Por padrão, a configuração do Nginx está localizada em `/ etc / nginx / nginx.conf` + +Certifique-se de que `nginx.conf` contém a seção` Virtual Host Config` + +`` ` +## +# Virtual Host Configs +## + +inclua /etc/nginx/conf.d/*.conf; +incluir / etc / nginx / sites-enabled / *; + +`` ` + +- Crie um novo arquivo em `/ etc / nginx / conf.d` chamado` prometheus.conf` + +`` ` +toque em /etc/nginx/conf.d/prometheus.conf +`` ` + +- Edite o arquivo recém-criado e cole o seguinte conteúdo dentro: + +`` ` +servidor { + listen 1234; + + localização / { + proxy_pass http: // localhost: 9090 /; + } +} +`` ` + +- Reinicie o Nginx e navegue até http: // localhost: 1234 + +`` ` +systemctl restart nginx + +# em caso de erros de inicialização +journalctl -f -u nginx.service +`` ` + +- Configure Prometheus for reverse proxying, by editing `/lib/systemd/system/prometheus.service` and add the following argument to the list of arguments passed to the Prometheus executable. + +`` ` +--web.external-url = https: // localhost: 1234 +`` ` + +- Reinicie o serviço + +`` ` +systemctl daemon-reload +systemctl restart prometheus + + +# em caso de erros +journalctl -f -u prometheus.service +`` ` + +### Habilitar autenticação de proxy reverso { #prometheus_auth } + +Esta seção mostra como configurar a autenticação básica por meio do proxy reverso. Se você precisar de um mecanismo de autenticação diferente (SSO, etc.), verifique a documentação relevante. + +- Certifique-se de que `htpasswd` está instalado no sistema + +`` ` +apt-get install apache2-utils +`` ` + +- Crie um arquivo de autenticação + +`` ` +cd / etc / prometheus +htpasswd -c .credentials admin +`` ` + +Escolha uma senha forte e certifique-se de que o arquivo de passe foi criado corretamente. + +- Edite o arquivo de configuração Nginx criado anteriormente (`/ etc / nginx / conf.d / prometheus.conf`) e adicione as informações de autenticação. + +`` ` +servidor { + listen 1234; + + localização / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http: // localhost: 9090 /; + } +} +`` ` + +- Reinicie o Nginx + +`` ` +systemctl restart nginx + +# em caso de erros +journalctl -f -u nginx.service +`` ` + +- `http: // localhost: 1234` agora deve solicitar nome de usuário e senha. + +### Instalação do Grafana no Ubuntu e Debian { #grafana } + +- Adicione uma chave `gpg` e instale o pacote OSS Grafana do repositório APT + +`` `sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +`` ` + +- Se o sistema estiver usando `systemd`, um novo` grafana-service` é criado automaticamente. Verifique o arquivo `systemd` para obter algumas dicas sobre a instalação do Grafana + +`` ` +cat /usr/lib/systemd/system/grafana-server.service +`` ` + +Este arquivo é muito importante porque oferece informações sobre a instância Grafana recém-instalada. + +O arquivo mostra: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- Inicie o servidor + +`` ` +systemctl start grafana-server +`` ` + +- Acesse o console da web Grafana: http: // localhost: 3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- Configure o Prometheus como uma fonte de dados Grafana + +Acesse o painel de fontes de dados clicando em `Configuração`>` Fontes de dados` através do menu à esquerda. + +Clique em `Adicionar uma fonte de dados` + +Selecione uma fonte de dados Prometheus na próxima janela. + +Configure a fonte de dados de acordo com a configuração do Prometheus (use autenticação, TSL, etc.) + +### Instalando Prometheus + Grafana usando Docker { #prometheus_grafana_docker } + +Esta seção descreve como iniciar uma pilha de Prometheus contendo Prometheus e Grafana. + +A configuração é baseada neste projeto: https://github.com/vegasbrianc/prometheus + +- Clone este projeto Github: https://github.com/vegasbrianc/prometheus + +- Inicie a pilha do Prometheus usando: + +`` ` +docker stack deploy -c docker-stack.yml prom +`` ` + +O comando acima pode resultar no seguinte erro: + +*This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again* + +Se isso acontecer, você precisa iniciar o Swarm. Você pode usar a seguinte linha de comando: + +`` ` +docker swarm init --advertise-addr +`` ` + +Depois que esse comando for executado com êxito, você poderá executar o comando anterior sem problemas. + +A pilha também contém um exportador de nó para monitoramento do Docker. Se você não estiver interessado no monitoramento do Docker, pode comentar as seções relevantes no arquivo `docker-stack.yml`: + +- `node-exporter` +- `cadvisor` + +- Para interromper a pilha do Prometheus: + +`` ` +docker stack rm baile +`` ` + +O arquivo de configuração do Prometheus (`prometheus.yml`) está localizado na pasta` prometheus`. + +- Acesse o console da web Grafana em: http: // localhost: 3000 com nome de usuário: `admin` e senha:` foobar` + +### Configure o Prometheus para extrair métricas de uma ou mais instâncias DHIS2 { #prometheus_dhis2 } + +Antes de usar o Prometheus, ele precisa de configuração básica. Portanto, precisamos criar um arquivo de configuração chamado `prometheus.yml` + +> ** Nota ** +> +> O arquivo de configuração do Prometheus é escrito em YAML, o que proíbe estritamente o uso de guias. Se o seu arquivo estiver formatado incorretamente, o Prometheus não iniciará. Tenha cuidado ao editá-lo. + +O arquivo de configuração do Prometheus é dividido em três partes: `global`,` rule_files` e `scrape_configs`. + +Na parte global, podemos encontrar a configuração geral do Prometheus: `scrape_interval` define a frequência com que o Prometheus raspa os alvos,` Evaluation_interval` controla a frequência com que o software avalia as regras. As regras são usadas para criar novas séries temporais e para a geração de alertas. + +O bloco `rule_files` contém informações da localização de quaisquer regras que desejamos que o servidor Prometheus carregue. + +O último bloco do arquivo de configuração é denominado `scape_configs` e contém as informações monitoradas pelo Prometheus. + +Um arquivo de monitoramento DHIS2 Prometheus simples se parece com este exemplo: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +O `scrape_interval` global é definido para 15 segundos, o que é suficiente para a maioria dos casos de uso. + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +O Prometheus pode ou não ser executado no mesmo servidor que o DHIS2: na configuração acima, presume-se que o Prometheus monitora apenas uma instância do DHIS2, rodando no mesmo servidor que o Prometheus, então usamos `localhost`. + +### Configure o exportador DHIS2 { #dhis2_metrics_conf } + +O subsistema de monitoramento é desabilitado por padrão no DHIS2. + +Cada cluster de métricas deve ser explicitamente ativado para que as métricas sejam exportadas. Para configurar o DHIS2 para exportar uma ou mais métricas, verifique este [documento] (https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..6bd7b324 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Gerir +--- + +# OpenID Connect (OIDC) configuration { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* Google +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### IdP claims and mapping of users { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Configure the Identity Provider for OIDC { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### Redirect URL { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Search for and select *App registrations*. +2. Click *New registration*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. Click *Register*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +In the example below we will configure the Norwegian governmental _HelseID_ OIDC provider using the provider key `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Requisitos { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +The following `dhis.conf` section shows an example of how to enable JWT authentication for an API-based client. + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..989d61c6 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Gerir +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### Ajuste de desempenho PostgreSQL { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Determina o número máximo de conexões que o PostgreSQL permitirá. + +```properties +shared_buffers = 3GB +``` + +Determines how much memory should be allocated exclusively for +PostgreSQL caching. This setting controls the size of the kernel shared +memory which should be reserved for PostgreSQL. Should be set to around +40% of total memory dedicated for PostgreSQL. + +```properties +work_mem = 24MB +``` + +Determines the amount of memory used for internal sort and hash +operations. This setting is per connection, per query so a lot of memory +may be consumed if raising this too high. Setting this value correctly +is essential for DHIS2 aggregation performance. + +```properties +maintenance_work_mem = 1GB +``` + +Determines the amount of memory PostgreSQL can use for maintenance +operations such as creating indexes, running vacuum, adding foreign +keys. Increasing this value might improve performance of index creation +during the analytics generation processes. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Sets the memory used for buffering during the WAL write process. +Increasing this value might improve throughput in write-heavy systems. + +```properties +synchronous_commit = off +``` + +Specifies whether transaction commits will wait for WAL records to be +written to the disk before returning to the client or not. Setting this +to off will improve performance considerably. It also implies that there +is a slight delay between the transaction is reported successful to the +client and it actually being safe, but the database state cannot be +corrupted and this is a good alternative for performance-intensive and +write-heavy systems like DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Specifies the delay between WAL write operations. Setting this to a high +value will improve performance on write-heavy systems since potentially +many write operations can be executed within a single flush to disk. + +```properties +random_page_cost = 1.1 +``` + +*SSD only.* Sets the query planner's estimate of the cost of a non-sequentially-fetched disk page. A low value will cause the system to prefer index scans over sequential scans. A low value makes sense for databases running on SSDs or being heavily cached in memory. The default value is 4.0 which is reasonable for traditional disks. + +```properties +max_locks_per_transaction = 96 +``` + +Especifica o número médio de bloqueios de objeto alocados para cada transação. Isso é definido principalmente para permitir que rotinas de atualização que afetam um grande número de tabelas sejam concluídas. + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +Reinicie o PostgreSQL invocando o seguinte comando: + +```sh +sudo systemctl restart postgresql +``` + +## Leia a configuração do banco de dados de réplica { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Trabalhando com o banco de dados PostgreSQL { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..c1d5576b --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Gerir +--- + +## Configuração de proxy reverso { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instances of DHIS2 on the same server. It also makes it possible to + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + different than 80 which reduces the consequences of session + hijacking. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Configuração básica do nginx { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx can now be started, reloaded and stopped with the following +commands: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Ativando SSL com nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa: 2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Habilitando cache com nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Limitação de taxa com nginx { #install_rate_limiting } + +Certas chamadas de API da web no DHIS 2, como as APIs `analytics`, são de computação intensiva. Como resultado, é favorável limitar a taxa dessas APIs para permitir que todos os usuários do sistema utilizem uma parte justa dos recursos do servidor. A limitação de taxa pode ser alcançada com `nginx`. Existem várias abordagens para atingir a limitação de taxa e isso tem como objetivo documentar a abordagem baseada em nginx. + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +Os vários elementos da configuração podem ser descritos como: + +- *limit_req_zone $binary_remote_addr*: Rate limiting is done per request IP. +- *zone=limit_analytics:20m*: A rate limit zone for the analytics API which can hold up to 10 MB of request IP addresses. +- *rate=20r/s*: Each IP is granted 5 requests per second. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +Para obter uma explicação completa, consulte a [documentação do nginx] (https://www.nginx.com/blog/rate-limiting-nginx/). + +### Disponibilizando recursos com o nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/pt/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/pt/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..5cd89704 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/pt/MANAGE__manage-md b/projects/docs-full-site/pt/MANAGE__manage-md new file mode 100644 index 00000000..c3f528c6 --- /dev/null +++ b/projects/docs-full-site/pt/MANAGE__manage-md @@ -0,0 +1,115 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/index.md" +revision_date: '2024-11-04' +tags: +- Gerir +--- + +# Instalação { #installation } + +This section contains information related to the installation, management and maintenance of DHIS2 systems. It provides information on how to install DHIS2 in various contexts, including online central server, offline local network or standalone application. + +## Introdução { #install_introduction } + +--- + +DHIS2 runs on all platforms for which there exists a Java JRE, which includes most popular operating systems such as Linux, Windows and Mac. DHIS2 is packaged as a standard Java Web Archive (WAR-file) and thus runs on any Servlet containers such as Tomcat and Jetty. Its writes its data to a PostgreSQL database. Its recommended that you run it on a Supported Ubuntu LTS system, + +This chapter provides a guide for setting up the above technology stack. It should however be read as a guide for getting up and running and not as an exhaustive documentation for the mentioned environment. We refer to the official Ubuntu, PostgreSQL and Tomcat documentation for in-depth reading. + +## Especificações do servidor { #install_server_specifications } + +--- + +DHIS2 is a database intensive application and requires that your server has an appropriate amount of RAM, a good number of CPU cores and a fast disk, preferably an solid state disk (ssd). These recommendations should be considered as rules-of-thumb and not exact measures. DHIS2 scales linearly on the amount of RAM and number of CPU cores so the more you can afford, the better the application will perform. + +- _RAM_ + : At least 8 GB for a small instance, 16 GB for a medium instance, 64 GB or more for a large instance. +- _CPU_ + : 4 CPU cores for a small instance, 8 CPU cores for a medium instance, 16 CPU cores or more for a large instance. +- _Disk_ + : SSD is recommended as the storage device. Minimum read speed is 150 Mb/s, 200 Mb/s is good, 350 Mb/s or better is ideal. At least 100 GB storage space is recommended, but will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of storage space. Plan ahead and ensure that your server can be upgraded with more disk space as needed. On linux, you can test disk latency and throughput with below commands + + ``` + # disk latency + dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync + + # disk throughput + dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync + + # remove /tmp/test1.img after testing + rm -v -i /tmp/test1.img + ``` + +## Requisitos de software { #install_software_requirements } + +--- + +As versões posteriores do DHIS2 requerem as seguintes versões de software para funcionar. + +- An operating system for which a Java JDK or JRE version 8 ,11 or 17 exists. Ubuntu LTS release is recommended. +- Java JDK. OpenJDK is recommended. + + Table: DHIS2 JDK compatibility + + | DHIS2 version | JDK recommended | JDK required | + | ------------- | --------------- | ------------ | + | 2.41 | 17 | 17 | + | 2.40 | 17 | 11 | + | 2.38 | 11 | 11 | + | 2.35 | 11 | 8 | + | pre 2.35 | 8 | 8 | + +- PostgreSQL database version 13 or later. A later PostgreSQL 16 is recommended. +- PostGIS database extension version 2.2 or later, 3 is recommended. +- Tomcat servlet container version 8.5.50 or 9, 9 is recommended. +- Cluster setup only (optional): Redis data store version 4 or later. + +So a minimal installation of DHIS2 would consist of just the tomcat server (with DHIS2 war file deployed) and a PostgreSQL database. This type of minimal setup can be suitable for a developer or experimental setup. For a production deployment there are many other factors to take into account regarding maintenance, monitoring, security, scalability and performance. + +## Install approaches { #install_install_approaches } + +--- + +There are many ways to get DHIS2 up and running. How you choose to install will depend on which skills and tools you are familiar with and whether the installation is for production or experimental use. We have a number of different guides which emphasize different styles of implementation. Regardless of the implementation approach you adopt, you will want to familiarize yourself with the additional reference material we provide regarding database management, reverse proxy setup, system monitoring, upgrades etc. + +#### [Automated Install](#getting_started_linux_automated_install) { #install_automated_install_on_linux } + +These tools are ansible based [dhis2-server-tools](https://github.com/dhis2/dhis2-server-tools). This tool set provides a set of ansible playbooks to automate the installation and management of DHIS2 and supporting components. It is geared towards production environments with the aim of addressing the most critical security and monitoring considerations out-of-the-box. + +#### [Manual Install](#installation_on_linux_server) { #manual-installinstallation_on_linux_server } + +This guide provides step-by-step instructions for setting up DHIS2 on Ubuntu 22.04. For production environments, however, we highly recommend using an automated installation to ensure consistency and ease of management. Manual setup is ideal for learning and understanding how different DHIS2 components are setup and how they interconnect. + +### Running DHIS2 on docker { #running-dhis2-on-docker } + +#### Important Considerations for Deploying DHIS2 with Docker { #important-considerations-for-deploying-dhis2-with-docker } + +While Docker containers offer a potential method for running DHIS2 applications, there are important factors to consider before implementing this approach in production environments. + +##### Limited Production Use Cases: { #limited-production-use-cases } + +Currently available Docker images for DHIS2 may not be suitable for production deployments. These images haven't undergone extensive testing in real-world production settings. While they might function adequately for development purposes, their stability and performance under demanding workloads cannot be guaranteed for mission-critical applications. + +##### User Awareness and Testing: { #user-awareness-and-testing } + +The decision to utilize DHIS2 within Docker containers for production environments rests solely with the user. If you choose to proceed with this approach, comprehensive security, performance, and stress testing are absolutely essential. Rigorous testing will help ensure the stability and reliability of your DHIS2 application in a production setting. + +For those interested in exploring DHIS2 with Docker, the following link provides information on running DHIS2 in a Docker container: + +[ Running DHIS2 on Docker ](https://github.com/dhis2/dhis2-core/blob/master/docker/DOCKERHUB.md) + +### Running DHIS2 on Kubernetes { #running-dhis2-on-kubernetes } + +#### Leveraging Kubernetes for DHIS2 Deployment { #leveraging-kubernetes-for-dhis2-deployment } + +Kubernetes, a leading open-source container orchestration platform, offers a compelling approach to automate the deployment, scaling, and management of containerized applications. + +> **NOTE** +> +> Kubernetes would still require dhis2 docker images and thus reservations made above regarding Limited Production Use Cases still holds. + +#### Container Image Selection: { #container-image-selection } + +While Kubernetes is agnostic to the container image format, successful DHIS2 deployment relies on readily available container images. Currently, available Docker images for DHIS2 are primarily intended for development environments. These images may not have undergone rigorous testing for production workloads, potentially impacting stability and performance. + diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md index 83253696..c92cdbf3 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-browsing.md" revision_date: '2021-09-09' tags: -- Usar - App version 1.0 +- Usar --- ## Navegando no Action Tracker { #browsing-the-action-tracker } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md index 12c44e7d..900c8ba9 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-introduction.md" revision_date: '2021-09-09' tags: -- Usar - App version 1.0 +- Usar --- # Painel de controle do Action Tracker e servidor de demonstração vinculados { #linked-action-tracker-dashboard-and-demo-server } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md index 04ebbf15..d679fd9a 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-maintenance.md" revision_date: '2021-09-09' tags: -- Usar - App version 1.0 +- Usar --- # Manutenção do aplicativo Action Tracker { #action-tracker-app-maintenance } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md index febe4510..d09f1c32 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-planning.md" revision_date: '2021-09-09' tags: -- Usar - App version 1.0 +- Usar --- # Planejamento de ação no rastreador de ação { #action-planning-in-action-tracker } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md index ea958260..3a929e13 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-tracking.md" revision_date: '2021-09-09' tags: -- Usar - App version 1.0 +- Usar --- # Rastreamento de ação no rastreador de ação { #action-tracking-in-action-tracker } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index d97005ce..e7bdf02b 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Instalando o App BNA { #installing-the-bna-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index 8e1f2439..a8b2cd39 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Manutenção do Aplicativo BNA { #bna-app-maintenance } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index 77e08970..2d87f0e9 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Análise e Interpretação BNA { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index 55dd70fd..7f4b5d1c 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Arquitetura do aplicativo BNA { #bna-app-architecture } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index 8621c8db..d1676426 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Painel de análise de gargalo e servidor de demonstração { #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index 8ce16697..cee0a9db 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Configurações de intervenções do App BNA { #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index 9c26a67d..7d24023a 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Operações de visualização { #visualization-operations } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index 382db11f..8a7d6978 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Adoção da utilização da App BNA { #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index 125f650b..d0765760 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Capacitação { #capacity-building } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index b326a06a..47e4d03b 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Treinamento de usuário final { #end-user-training } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index dd5a7041..eb773c4f 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Guia para implementação de aplicativos BNA { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index b48575a5..5105b9f2 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Conceitos de Integração para a App BNA. { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index 0da84be3..f29d5d21 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Oportunidades e desafios { #opportunities-and-challenges } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index 317c8daa..8a5ae8a8 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Planejando e organizando { #planning-and-organising } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index 7377f683..c4269f31 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Configurando um novo aplicativo BNA { #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index e0beb589..9eb289ab 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # BNA App Support e Scale-up { #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index 2e47aa29..1d47b5ab 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '09-09-2021' tags: -- App version 1.2.2 - Usar +- App version 1.2.2 --- # Ampliação e sustentabilidade { #scale-up-and-sustainability } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index f0048f0c..4f92c784 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index 460a6697..9f4d1b9c 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index d600df3c..6669e1fb 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index d5cb29b6..4a1baf08 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index 78e85986..0ba734f8 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- # Sobre este guião { #about_this_guide_ } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index 08faa4cf..de54813c 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index 4833960d..e783a47c 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index b2d0de3c..e995879e 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 10b44889..1367685d 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md index dfd238f7..b3d2c6f0 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/map-view.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Usar +- App version 1.4.0 --- Map View diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md index 91f3adbb..97b62585 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__IMMUNIZATION-ANALYSIS-APP__APP-VERSION-103__immunization-analysis-app-user-manual-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/metadata-package-development/blob/master/metadata/AEFI/immunisation_analysis_app_user_manual.md" revision_date: '2021-03-18' tags: -- Usar - App version 1.0.3 +- Usar --- # User Manual for the DHIS2 Immunisation Analysis App { #user-manual-for-the-dhis2-immunisation-analysis-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md index 149969c4..0e1eb0d3 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/about-this-guide.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # About this guide { #about-this-guide } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md index e0e6c723..191b2f93 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-and-translating-scorecard.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Accessing and translating the Scorecard { #accessing-and-translating-the-scorecard } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md index aca1cc99..6dbbaa36 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-scorecard-app.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Login DHIS2 system { #login-dhis2-system } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md index d0cfef94..57348998 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/creating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- ## Creating the Scorecard { #creating-the-scorecard } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md index 6b5396db..56f5cc28 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/introduction-to-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Introduction to the Scorecard App { #introduction-to-the-scorecard-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md index 34a492f4..f780f76a 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/saving-configurations.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- ## Saving configuration and load the scorecard { #saving-configuration-and-load-the-scorecard } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md index ab50f57b..94079ea0 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/scorecard-app-architecture.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Scorecard App architecture { #scorecard-app-architecture } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md index a512e349..bbf2f2ea 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/support-and-maintanace-options.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Scorecard App Built-in Support and Maintenance Options { #scorecard-app-built-in-support-and-maintenance-options } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md index 37e8238b..aaf9c823 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/viewing-scorecard.md" revision_date: '04-10-2021' tags: -- App version 2.5.0 - Usar +- App version 2.5.0 --- # Viewing the Scorecard App Analysis outputs { #viewing-the-scorecard-app-analysis-outputs } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index 167e3fac..e3cc4c08 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Usar +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index 3051edd3..2e90925f 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Usar +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index db9e3528..c7c4e375 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - Usar +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index 5ff22d8e..8a4e6fa5 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Usar +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 1397bca5..cdb184b4 100644 --- a/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/pt/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Usar +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 8ea2af0b..9e2ce0be 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index 0ad835fc..dc644fb9 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # DHIS2 Perguntas Freqüentes { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index 6b841d25..71d85659 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Glossário DHIS2 { #dhis2_glossary } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 6b0f5838..083e09b7 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Tutoriais DHIS2 { #dhis2_tutorials } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 3e29253c..0ec3abd7 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Notas de lançamento e atualização { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 3022e5ba..62a30678 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Gerir painéis { #dashboard } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index d3027bb8..f42e8c5b 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Usando o aplicativo Data Visualizer { #data_visualizer } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index fde71e97..ac17c226 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Usando o aplicativo Relatórios de eventos { #event_reports_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index d6aa63a6..6a10f188 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Usando o aplicativo Event Visualizer { #event_visualizer_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index d36efd74..9908ef08 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index 88a63176..be22bc5b 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Usando o aplicativo Maps { #using_maps } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index 6da1e671..8f41a118 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Funcionalidade de relatórios no aplicativo de relatórios { #using_the_reports_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md index 1ac5c24a..6a9fdd21 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Data approval { #data_approval_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index 1fd7d3c6..889136ba 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index b7397d74..27adf2d0 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Usando o aplicativo de entrada de dados { #data_entry_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index b87c525d..914ced67 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Controle de qualidade de dados { #control_data_quality } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 952fa039..e82d9028 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Sobre o compartilhamento de objetos { #sharing } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index 9aded063..39cb7a11 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configure o aplicativo Maps { #gis_creating } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 390b67a8..deb212cc 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configurar metadados { #maintenance_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index cbf94d5c..e3c92cc1 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configure programas no aplicativo de manutenção { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 105ecd55..e40cf055 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configure a funcionalidade de relatório { #setting_up_reporting } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 5cd29590..e9b1c857 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configurações do sistema { #settings } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index c4a83b1b..ff9e4edf 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Autoridades do usuário { #user_authorities } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index de53ed3d..9e4df0bc 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Gerenciar usuários, funções e grupos de usuários { #manage_user_role_group } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index e1a17f19..414dcc79 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Importar / Exportar aplicativo { #import_export } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index f127d34b..945e7ac7 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configure a sincronização de metadados { #metadata_sync } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index 621ceab1..b6af6748 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index 9fb512ae..cf2a6cef 100644 --- a/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/pt/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- DHIS core version 2.38 - Usar +- DHIS core version 2.38 --- # Administração de Dados { #data_admin } diff --git a/projects/docs-full-site/ru/.cache_timestamp b/projects/docs-full-site/ru/.cache_timestamp index fee0db25..84861ac0 100644 --- a/projects/docs-full-site/ru/.cache_timestamp +++ b/projects/docs-full-site/ru/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:22:03Z \ No newline at end of file +2024-11-05T21:25:06Z \ No newline at end of file diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index 8ac2a221..f3e759aa 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Осуществлять - DHIS core version 2.35 - Android app version 2.3.0 -- Осуществлять --- # DHIS2 Android App version 2.3 Release Note { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index b98b618b..a6389d43 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Осуществлять - Android app version 2.4.0 - DHIS core version 2.36 -- Осуществлять --- # DHIS2 Android App version 2.4 Release Notes { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index f51cdfc0..bd105891 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core version 2.37 -- Android app version 2.5.0 - Осуществлять +- Android app version 2.5.0 --- # DHIS2 Android App version 2.5 Release Notes { #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md index 3cb9b6af..fbaec5ae 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-238__ANDROID-APP-VERSION-260__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.6/ReleaseNote-2.6.0.md" revision_date: '2022-04-18' tags: -- DHIS core version 2.38 -- Android app version 2.6.0 - Осуществлять +- Android app version 2.6.0 +- DHIS core version 2.38 --- # DHIS2 Android App version 2.6 Release Notes { #dhis2-android-app-version-26-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index 031c2b3d..ed48d506 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Осуществлять - Android app version 2.7.0 - DHIS core version 2.39 -- Осуществлять --- # DHIS2 Android App version 2.7 Release Notes { #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index 06045bef..70c5e338 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Android app version 2.8.0 -- DHIS core version 2.40 - Осуществлять +- DHIS core version 2.40 +- Android app version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md index 00af71c8..548f5996 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/2.9/android-releases/2.9/ReleaseNote-2.9.0.md" revision_date: '2023-11-20' tags: -- Android app version 2.9.0 -- DHIS core version 2.40 - Осуществлять +- DHIS core version 2.40 +- Android app version 2.9.0 --- # DHIS2 Android App version 2.9 Release Notes { #dhis2-android-app-version-29-release-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index b54bbd9f..2a402e01 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Осуществлять +- DHIS core version 2.35 --- # DHIS version 2.35 Release Note { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index bb68edbc..34994bc5 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Осуществлять +- DHIS core version 2.35 --- # 2.35 Upgrade Notes { #235-upgrade-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 82fe9dcd..6ad54829 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Осуществлять +- DHIS core version 2.36 --- # DHIS version 2.36 Release Note { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index 9b9304c1..27ffd7a2 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Осуществлять +- DHIS core version 2.36 --- # 2.36 Upgrade Notes { #236-upgrade-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md index 4160e88e..028a4af8 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/ReleaseNote-2.38.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.38 - Осуществлять +- DHIS core version 2.38 --- # DHIS version 2.38 Release Note { #dhis-version-238-release-note } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md index 2796694a..029ec72f 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-238__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.38/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.38 - Осуществлять +- DHIS core version 2.38 --- # 2.38 Upgrade Notes { #238-upgrade-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index 348439c0..ac674109 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS core version 2.39 - Осуществлять +- DHIS core version 2.39 --- # DHIS version 2.39 Release Note { #dhis-version-239-release-note } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index d2076888..c75ac4c1 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.39 - Осуществлять +- DHIS core version 2.39 --- # 2.39 Upgrade Notes { #239-upgrade-notes } diff --git a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 978dcacb..6dfa145d 100644 --- a/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/ru/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.40 - Осуществлять +- DHIS core version 2.40 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..64e74738 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Audit { #audit } + +## Introduction { #introduction } + +DHIS2 supports a new audit service based on _Apache ActiveMQ Artemis_. Artemis is used as an asynchronous messaging system by DHIS2. + +After an entity is saved to database, an audit message will be created and sent to the Artemis message consumer service. The message will then be processed in a different thread. + +Audit logs can be retrieved from the DHIS2 database. Currently there is no UI or API endpoint available for retrieving audit entries. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Single Audit table { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Column | Type | Description | +| --- | --- | --- | +| auditid | integer | Primary key. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| auditscope | text | METADATA, AGGREGATE, TRACKER | +| klass | text | Audit Entity Java class name. | +| attributes | jsonb | A JSON string with attributes of the audited object. Example: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| data | bytea | Compressed JSON string of the audit entity in byte array format (not humanly readable). | +| createdat | timestamp without time zone | Time of creation. | +| createdby | text | Username of the user performing the audited operation. | +| uid | text | The UID of the audited object. | +| code | text | The code of the audited object. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## Audit Scope { #audit_scope } + +An audit scope is a logical area of the application which can be audited. Currently there are three audit scopes. + +| Scope | Key | Audited objects | +| --- | --- | --- | +| Tracker | TRACKER | Tracked Entity Instance, Tracked Entity Attribute Value, Enrollment, Event. | +| Metadata | METADATA | All metadata objects (e.g. Data Element, Organisation Unit). | +| Aggregate | AGGREGATE | Aggregate Data Value. | + +## Audit Type { #audit_type } + +An audit type is an action that triggers an audit operation. Currently we support the following four types. + +| Name | Key | Description | +| -------- | -------- | ------------------- | +| Read | READ | Object was read. | +| Create | CREATE | Object was created. | +| Update | UPDATE | Object was updated. | +| Delete | DELETE | Object was deleted. | +| Disabled | DISABLED | Disable audit. | + +> **Caution** +> +> The READ audit type may generate a lot of data in the database and may have an impact on the performance. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityinstanceauditid | integer | Primary key. | +| trackedentityinstance | text | Tracked entity instance name. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| comment | text | The code of the audited object. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityattributevalueauditid | integer | Primary key. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | integer | Attribute ID. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| encryptedvalue | text | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentitydatavalueauditid | integer | Primary key. | +| programstageinstanceid | integer | Program stage ID of which the data value belongs to. | +| dataelementid | integer | ID of the data element. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## Breaking the glass { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| Column | Type | Description | +| --- | --- | --- | +| programtempownershipauditid | integer | Primary key. | +| programid | integer | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| reason | text | The reason as inserted in the dialog. | + +## Setup { #audit_configuration } + +The audit system is enabled by default for the following scopes and types. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Types: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +This means that **no action is required** to enable the default audit system. The default setting is equivalent to the following `dhis.conf` configuration. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +The audit can be configured using the _audit matrix_. The audit matrix represents the valid combinations of scopes and types, and is defined with the following properties in the `dhis.conf` configuration file. Each property accepts a semicolon (`;`) delimited list of audit types. + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## Examples { #examples } + +This section demonstrates how to configure the audit system in `dhis.conf`. + +To enable audit of create and update of metadata and tracker only: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +To only audit tracker related objects create and delete: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +To completely disable audit for all scopes: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..e254c8c1 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Overview { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuration { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..47a125ab --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Deployment Architectures { #deployment-architectures } + +## Introduction { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Description| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..6b85fa4d --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introduction { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Later DHIS2 versions require the following software versions to operate. + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. PostGIS database extension version 2.2 or later. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Task| Description | Status | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Month|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Training|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|July|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..67c5bf74 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Start the server + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/ru/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/ru/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..9cb2b364 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Manage +--- + +# Using Gateways for SMS reporting { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +Sending SMS, i.e. from the DHIS2 server to mobile devices, is relatively simple to set up. If all that is required is the sending of notifications to users phones from DHIS2 when certain events occur (messaging, thresholds e.t.c.) only sending SMS is required. + +This can all be configured in the SMS Service Configuration page within the [Mobile Configuration section](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +There is out of the box support for common providers such as *Bulk SMS* and *Clickatell*, and both providers support sending of SMS to numbers in most countries. + +Note also, it is possible to use a different SMS Gateway for sending and receiving SMS. So even if you set up a solution for receiving SMS below, it is still possible to use one of the aforementioned solutions above for sending SMS. + +## Using an Android device as SMS Gateway { #sms_report_android_gateway } + +The simplest solution by far is to use a dedicated Android device as your SMS Gateway. Any phone or tablet running Android OS (4.4, Kitkat or above) should be fine. It will require a constant internet connection, in order to forward messages to your DHIS2 server and it will also need a SIM card to receive the incoming SMS. + +You’ll need to download and install the DHIS2 Android SMS Gateway app on the mobile device. See a list of [releases](https://github.com/dhis2/dhis2-sms-android-gateway/releases) where you can download the latest APK file to install. There are instructions on the app page itself, but essentially you’ll just need to start the app and enter the details of your DHIS2 server (URL, username and password). + +Once this is set up and running, you then enter the phone number of this gateway device in the configuration page of any other mobile device using the DHIS2 Capture App. Then, when SMS are sent from these reporting devices, they will be received on the gateway device and automatically forwarded to the DHIS2 server where they will be processed. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Sending SMS using an Android Device Gateway { #sending-sms-using-an-android-device-gateway } + +This option is currently not supported nor documented. + +## Dedicated SMS Gateways { #sms_report_dedicated_gateway } + +This section discusses the use of more permanent and dedicated SMS gateways and the options available. Each of these options below will involve a provider (or yourself) having an SMPP connection to a phone carrier in country and using this connection to receive incoming SMS and forward them on to your DHIS2 server over the internet using HTTP. + +These solutions can either use a **long number** or **short code**. A long number is a standard mobile phone number of the type that most private people use, i.e. +61 400123123. A short code is simply a short number, such as 311. Short codes typically cost more to set up and maintain. + +### Ensuring incoming SMS to DHIS2 server are formatted correctly { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +When sending incoming SMS to a DHIS2 server via the API you use the following URL: *https:///api/sms/inbound* + +In DHIS2 version 2.34 and below, this endpoint requires the format of inbound SMS to be in a very specific format, i.e. the message itself must be a parameter called text, the phone number of the sender must be a parameter called originator. + +When using all of the below SMS gateway options, when you configure them to forward incoming SMS on to another web service, they will each have their own format, which will be different to the one expected by the DHIS2 API. For this reason then, it’s necessary to reformat them before sending them on to the DHIS2 server. + +One option is to run your own very simple web service, which simply receives the incoming SMS from the gateway provider, reformats it to the one required for DHIS2 and forwards it on to your DHIS2 API. Such a service would need to be written by a software developer. + +In DHIS2 version 2.35, it is planned to support these cases with a templating system for incoming SMS, so you can specify the format of the messages which will be sent from your provider. That way, you can configure the DHIS2 server to accept incoming SMS from any other SMS gateway provider and they can directly send incoming SMS to the DHIS2 API, without the need for such a formatting web service. + +### Using RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/) is a service run by UNICEF in over 50 countries around the world. It is a collection of software which works with in-country phone carriers to enable organisations to design SMS solutions for their projects, such as SMS reporting or awareness campaigns. + +The RapidPro service will involve an SMPP connection to one or more phone carriers in-country, usually via a shortcode, potentially dedicated to Health work for NGOs. It’s then possible to add a webhook so that incoming SMS are forwarded to another web service, such as the formatting web service described above. If the shortcode is used for other purposes as well, it may be necessary to add the phone numbers of your reporting devices to a separate group, so that only the incoming SMS from those devices is forwarded to the webhook. + +RapidPro is currently set up and running in roughly half of the countries which are currently using or piloting DHIS2. Before considering one of the solutions below, which can be costly in terms of both finance and time, it is worth getting in contact with Unicef to see if RapidPro is available and if it can be used for health reporting in your country. + +### Using commercial SMS gateway providers { #using-commercial-sms-gateway-providers } + +Of the commercial SMS gateway providers mentioned in the Sending SMS section above, they will usually have capability to *send* SMS in most countries but can only support *receiving* SMS in a limited amount of countries. The majority of countries they support receiving SMS in are not those using DHIS2. Of the countries that are using DHIS2, most are already covered by having a RapidPro service running in-country. + +However, it is worth researching what commercial options are available for your country. In some countries there will be small national companies that provide SMS services, they’ll have existing SMPP connections with the phone providers you can use. + +### Using phone carriers directly { #using-phone-carriers-directly } + +If none of the above solutions are available it would be necessary to approach the phone carriers in your country directly. The first question to ask them would be whether they are aware of any companies which are operating SMPP connections with them which you may be able to approach. + +If not, as a final option, you would need to consider setting up and maintaining your own SMPP connection with the phone provider. However, not all phone providers might offer such a service. + +You would need to run your own server running software such as [Kannel](https://www.kannel.org/), which connects (usually via a VPN) to an SMPP service running in the phone providers network. With this in place, any incoming SMS for the configured long number or shortcode are sent from the phone carrier to your Kannel server and you can then forward on these messages as above. + +### Receiving concatenated or multipart SMS { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +When selecting an SMS gateway then, it is important to confirm that the phone carrier used supports concatenated SMS. Most of them will support this, but it is important to confirm as the SMS functionality will not work if SMS are split. This relies on something called a UDH (User Data Header). When discussing with providers then, ensure you ask if it is supported. + diff --git a/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..a9150b2f --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..6384a1be --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Creating a user to run DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Important** +> +> You should not run the DHIS2 server as a privileged user such as root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Creating the configuration directory { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## PostgreSQL installation { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Java installation { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Installation +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Verify that your installation is correct by invoking: +``` +java -version +``` + +## DHIS2 configuration { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +A configuration file for PostgreSQL corresponding to the above setup has +these properties: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Tomcat and DHIS2 installation { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Running DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..74ff92d1 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/ru/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/ru/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..c93e3ddc --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Cloud Hosting { #cloud-hosting } + +## Introduction { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/ru/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/ru/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..48754856 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Physical Hosting { #physical-hosting } + +## Introduction { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/ru/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/ru/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..c1f59860 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Requirements { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusion { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/ru/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/ru/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..e5f69274 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Web server cluster configuration { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Clustering overview { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +There are a few aspects to configure in order to run DHIS 2 +in a cluster. + +* A Redis data store must be installed and connection information must +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +apps and file uploads, either through the *AWS S3 cloud filestorage* option +or a shared network drive. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +across the cluster instances. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Redis shared data store cluster configuration { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Specifies where the redis server is running. Defaults to *localhost*. Mandatory. + +- *redis.port*: Specifies the port in which the redis server is listening. Defaults to *6379*. Optional. + +- *redis.password*: Specifies the authentication password. If a password is not required it can be left blank. + +- *redis.use.ssl*: Specifies whether the Redis server has SSL enabled. Defaults to false. Optional. Defaults to *false*. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Files folder configuration { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +There are two ways to achieve a shared location: + +* Use the *AWS S3 cloud filestorage* option. Files will be stored in an +S3 bucket which is automatically shared by all DHIS 2 instances in the cluster. +See the *File store configuration* section for guidance. +* Set up a shared folder which is shared among all DHIS 2 instances and +servers in the cluster. On Linux this can be achieved with *NFS* (Network File System) +which is a distributed file system protocol. Note that only the `files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## Load balancer configuration { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/ru/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/ru/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..daabc003 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..e30ec704 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Encryption configuration { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```properties +encryption.password = xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## System configuration { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +Sets the system in read-only mode. This is useful when you run DHIS 2 on a read-only replica database, to avoid DHIS 2 performing database write operations. Can be `on` or `off`. Default is `off`. + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +Enables or disables the sensitive database table protection for SQL views. This will prohibit database tables with sensitive data to be queried through SQL views. Disabling is not recommended. Can be `on` or `off`. Default is `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Enables or disables execution of server-side program rules. This refers to program rules which have actions for assigning values, sending messages or scheduling messages to be sent. Can be `on` or `off`. Default is `on`. + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..c21b3ffa --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# File store configuration { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..9371152b --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Google service account configuration { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Create a Google service account. Please consult the [Google identify + platform](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + documentation. + + - Visit the [Google cloud console](https://console.cloud.google.com) + and go to API Manager \> Credentials \> Create credentials \> + Service account key. Select your service account and JSON as key + type and click Create. + + - Rename the JSON key to *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..1a15f424 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## LDAP configuration { #install_ldap_configuration } + +DHIS2 is capable of using an LDAP server for authentication of users. +For LDAP authentication it is required to have a matching user in the +DHIS2 database per LDAP entry. The DHIS2 user will be used to represent +authorities / user roles. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +The LDAP configuration properties are explained below: + +- *ldap.url:* The URL of the LDAP server for which to authenticate + against. Using SSL/encryption is strongly recommended in order to + make authentication secure. As example URL is + *ldaps://domain.org:636*, where ldaps refers to the protocol, + *domain.org* refers to the domain name or IP address, and *636* + refers to the port (636 is default for LDAPS). +- *ldap.manager.dn:* An LDAP manager user is required for binding to + the LDAP server for the user authentication process. This property + refers to the DN of that entry. I.e. this is not the user which will + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* The password for the LDAP manager user. +- *ldap.search.base:* The search base, or the distinguished name of + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* The filter for matching DNs of entries in the + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..ce2166a7 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Application logging { #install_application_logging } + +This section covers application logging in DHIS2. + +## Log files { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Log configuration { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Common log levels are `DEBUG`, `INFO`, `WARN` and `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..e3e07769 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Monitoring { #monitoring } + +## Introduction { #monitoring } + +DHIS2 can export [Prometheus](https://prometheus.io/) compatible metrics for monitoring DHIS2 nodes. + +This section describes the steps required to install Prometheus and [Grafana](https://grafana.com/) using a standard installation procedure (`apt-get`) and Docker and configure Grafana to show DHIS2 metrics. + +For a list of the metrics exposed by a DHIS2 instance, please refer to the monitoring guide on [GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Setup { #monitoring_setup } + +The next sections describe how to set up Prometheus and Grafana and how to set up Prometheus to pull data from one or more DHIS2 instances. + +### Installing Prometheus + Grafana on Ubuntu and Debian { #prometheus } + +- Download Prometheus from the official [download](https://prometheus.io/download/) page. + +- Make sure to filter for your operating system and your CPU architecture (Linux and amd64). + +- Make sure to select the latest stable version, and not the “rc” one, as it is not considered stable enough for now. + +- Download the archive, either by clicking on the link or using `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Untar the zip + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +The archive contains many important files, but here is the main ones you need to know. + +- `prometheus.yml`: the configuration file for Prometheus. This is the file that you are going to modify in order to tweak your Prometheus server, for example to change the scraping interval or to configure custom alerts; +- `prometheus`: the binary for your Prometheus server. This is the command that you are going to execute to launch a Prometheus instance on your Linux box; +- `promtool`: this is a command that you can run to verify your Prometheus configuration. + +### Configuring Prometheus as a service { #prometheus_service } + +- Create a `Prometheus` user with a `Prometheus` group. + +``` +useradd -rs /bin/false prometheus +``` + +- Move the Prometheus binaries to the local bin directory + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Create a folder in the `/etc` folder for Prometheus and move the console files, console libraries and the prometheus configuration file to this newly created folder. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Create a data folder at the root directory, with a prometheus folder inside. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Create a Prometheus service { #prometheus_create_service } + +To create a Prometheus _systemd_ service, head over to the `/lib/systemd/system` folder and create a new systemd file named `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Edit the newly created file, and paste the following content inside: + +```properties +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/local/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +- Save the file and enable the Prometheus service at startup + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Test that the service is running + +``` +systemctl status prometheus + +... +Active: active (running) +``` + +- It should be now possible to access the Prometheus UI by accessing `http://localhost:9090`. + + +### Set-up Nginx reverse proxy { #prometheus_nginx } + +Prometheus does not natively support authentication or TLS encryption. If Prometheus has to be exposed outside the boundaries of the local network, it is important to enable authentication and TLS encryption. The following steps show how to use Nginx as a reverse proxy. + +- Install Nginx, if not already installed + +``` +apt update +apt-get install nginx +``` + +By default, Nginx will start listening for HTTP requests in the default `http` port, which is `80`. + +If there is already an Nginx instance running on the machine and you are unsure on which port it is listening on, run the following command: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +The last column shows the port used by Nginx (`http` -> `80`). + +By default, Nginx configuration is located in `/etc/nginx/nginx.conf` + +Make sure that `nginx.conf` contains the `Virtual Host Config` section + +``` +## +# Virtual Host Configs +## + +include /etc/nginx/conf.d/*.conf; +include /etc/nginx/sites-enabled/*; + +``` + +- Create a new file in `/etc/nginx/conf.d` called `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Edit the newly created file, and paste the following content inside: + +``` +server { + listen 1234; + + location / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx and browse to http://localhost:1234 + +``` +systemctl restart nginx + +# in case of start-up errors +journalctl -f -u nginx.service +``` + +- Configure Prometheus for reverse proxying, by editing `/lib/systemd/system/prometheus.service` and add the following argument to the list of arguments passed to the Prometheus executable. + +``` +--web.external-url=https://localhost:1234 +``` + +- Restart the service + +``` +systemctl daemon-reload +systemctl restart prometheus + + +# in case of errors +journalctl -f -u prometheus.service +``` + +### Enable reverse proxy authentication { #prometheus_auth } + +This section shows how to configure basic authentication via the reverse proxy. If you need a different authentication mechanism (SSO, etc.) please check the relevant documentation. + +- Make sure that `htpasswd` is installed on the system + +``` +apt-get install apache2-utils +``` + +- Create an authentication file + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Choose a strong password, and make sure that the pass file was correctly created. + +- Edit the previously created Nginx configuration file (`/etc/nginx/conf.d/prometheus.conf`), and add the authentication information. + +``` +server { + listen 1234; + + location / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx + +``` +systemctl restart nginx + +# in case of errors +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` should now prompt for username and password. + +### Installing Grafana on Ubuntu and Debian { #grafana } + +- Add a `gpg` key and install the OSS Grafana package from APT repo + +```sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +``` + +- If the system is using `systemd`, a new `grafana-service` is automatically created. Check the `systemd` file to gain some insight on the Grafana installation + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +This file is quite important because it offers information about the newly installed Grafana instance. + +The file shows: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- Start the server + +``` +systemctl start grafana-server +``` + +- Access Grafana web console: http://localhost:3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- Configure Prometheus as a Grafana datasource + +Access to the datasources panel by clicking on `Configuration` > `Data sources` via the left menu. + +Click on `Add a datasource` + +Select a Prometheus data source on the next window. + +Configure the datasource according to the Prometheus setup (use authentication, TSL, etc.) + +### Installing Prometheus + Grafana using Docker { #prometheus_grafana_docker } + +This section describes how to start-up a Prometheus stack containing Prometheus and Grafana. + +The configuration is based on this project: https://github.com/vegasbrianc/prometheus + +- Clone this Github project: https://github.com/vegasbrianc/prometheus + +- Start the Prometheus stack using: + +``` +docker stack deploy -c docker-stack.yml prom +``` + +The above command, may result in the following error: + +*This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again* + +If that happens, you need to start Swarm. You can use the following command line: + +``` +docker swarm init --advertise-addr +``` + +Once this command runs successfully, you should be able to run the previous command without problems. + +The stack contains also a Node exporter for Docker monitoring. If you are not interested in Docker monitoring, you can comment out the relevant sections in the `docker-stack.yml` file: + +- `node-exporter` +- `cadvisor` + +- To stop the Prometheus stack: + +``` +docker stack rm prom +``` + +The Prometheus configuration (`prometheus.yml`) file is located in the `prometheus` folder. + +- Access Grafana web console at: http://localhost:3000 with username: `admin` and password: `foobar` + +### Configure Prometheus to pull metrics from one or more DHIS2 instances { #prometheus_dhis2 } + +Prior to using Prometheus, it needs basic configuring. Thus, we need to create a configuration file named `prometheus.yml` + +> **Note** +> +> The configuration file of Prometheus is written in YAML which strictly forbids to use tabs. If your file is incorrectly formatted, Prometheus will not start. Be careful when you edit it. + +Prometheus’ configuration file is divided into three parts: `global`, `rule_files`, and `scrape_configs`. + +In the global part we can find the general configuration of Prometheus: `scrape_interval` defines how often Prometheus scrapes targets, `evaluation_interval` controls how often the software will evaluate rules. Rules are used to create new time series and for the generation of alerts. + +The `rule_files` block contains information of the location of any rules we want the Prometheus server to load. + +The last block of the configuration file is named `scape_configs` and contains the information which resources Prometheus monitors. + +A simple DHIS2 Prometheus monitoring file looks like this example: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +The global `scrape_interval` is set to 15 seconds which is enough for most use cases. + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +Prometheus may or may not run on the same server as DHIS2: in the above configuration, it is assumed that Prometheus monitors only one DHIS2 instance, running on the same server as Prometheus, so we use `localhost`. + +### Configure the DHIS2 exporter { #dhis2_metrics_conf } + +The monitoring subsystem is disabled by default in DHIS2. + +Each metrics cluster has to be explicitly enabled in order for the metrics to be exported. To configure DHIS2 to export one or more metrics, check this [document](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..6d3f4ec2 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +# OpenID Connect (OIDC) configuration { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* Google +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### IdP claims and mapping of users { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Configure the Identity Provider for OIDC { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### Redirect URL { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Search for and select *App registrations*. +2. Click *New registration*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. Click *Register*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +In the example below we will configure the Norwegian governmental _HelseID_ OIDC provider using the provider key `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Requirements { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +The following `dhis.conf` section shows an example of how to enable JWT authentication for an API-based client. + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..7fe5913e --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### PostgreSQL performance tuning { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Determines maximum number of connections which PostgreSQL will allow. + +```properties +shared_buffers = 3GB +``` + +Determines how much memory should be allocated exclusively for +PostgreSQL caching. This setting controls the size of the kernel shared +memory which should be reserved for PostgreSQL. Should be set to around +40% of total memory dedicated for PostgreSQL. + +```properties +work_mem = 24MB +``` + +Determines the amount of memory used for internal sort and hash +operations. This setting is per connection, per query so a lot of memory +may be consumed if raising this too high. Setting this value correctly +is essential for DHIS2 aggregation performance. + +```properties +maintenance_work_mem = 1GB +``` + +Determines the amount of memory PostgreSQL can use for maintenance +operations such as creating indexes, running vacuum, adding foreign +keys. Increasing this value might improve performance of index creation +during the analytics generation processes. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Sets the memory used for buffering during the WAL write process. +Increasing this value might improve throughput in write-heavy systems. + +```properties +synchronous_commit = off +``` + +Specifies whether transaction commits will wait for WAL records to be +written to the disk before returning to the client or not. Setting this +to off will improve performance considerably. It also implies that there +is a slight delay between the transaction is reported successful to the +client and it actually being safe, but the database state cannot be +corrupted and this is a good alternative for performance-intensive and +write-heavy systems like DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Specifies the delay between WAL write operations. Setting this to a high +value will improve performance on write-heavy systems since potentially +many write operations can be executed within a single flush to disk. + +```properties +random_page_cost = 1.1 +``` + +*SSD only.* Sets the query planner's estimate of the cost of a non-sequentially-fetched disk page. A low value will cause the system to prefer index scans over sequential scans. A low value makes sense for databases running on SSDs or being heavily cached in memory. The default value is 4.0 which is reasonable for traditional disks. + +```properties +max_locks_per_transaction = 96 +``` + +Specifies the average number of object locks allocated for each transaction. This is set mainly to allow upgrade routines which touch a large number of tables to complete. + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +Restart PostgreSQL by invoking the following command: + +```sh +sudo systemctl restart postgresql +``` + +## Read replica database configuration { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Working with the PostgreSQL database { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..f54f9715 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## Reverse proxy configuration { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instances of DHIS2 on the same server. It also makes it possible to + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + different than 80 which reduces the consequences of session + hijacking. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Basic nginx setup { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx can now be started, reloaded and stopped with the following +commands: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Enabling SSL with nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Enabling caching with nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Rate limiting with nginx { #install_rate_limiting } + +Certain web API calls in DHIS 2, like the `analytics` APIs, are compute intensive. As a result it is favorable to rate limit these APIs in order to allow all users of the system to utilize a fair share of the server resources. Rate limiting can be achieved with `nginx`. There are numerous approaches to achieving rate limiting and this is intended to document the nginx-based approach. + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +The various elements of the configuration can be described as: + +- *limit_req_zone $binary_remote_addr*: Rate limiting is done per request IP. +- *zone=limit_analytics:20m*: A rate limit zone for the analytics API which can hold up to 10 MB of request IP addresses. +- *rate=20r/s*: Each IP is granted 5 requests per second. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +For a full explanation please consult the [nginx documentation](https://www.nginx.com/blog/rate-limiting-nginx/). + +### Making resources available with nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/ru/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/ru/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..d7026299 --- /dev/null +++ b/projects/docs-full-site/ru/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md index 363af600..29d883c2 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-browsing.md" revision_date: '2021-09-09' tags: -- Использовать - App version 1.0 +- Использовать --- ## Browsing the Action Tracker { #browsing-the-action-tracker } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md index c7ef7160..9e77d892 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__DASHBOARD-AND-DEMO-SERVER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-introduction.md" revision_date: '2021-09-09' tags: -- Использовать - App version 1.0 +- Использовать --- # Linked Action Tracker Dashboard and Demo server { #linked-action-tracker-dashboard-and-demo-server } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md index 6b57afb7..8cac218b 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-maintenance.md" revision_date: '2021-09-09' tags: -- Использовать - App version 1.0 +- Использовать --- # Action Tracker App Maintenance { #action-tracker-app-maintenance } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md index 50495adb..aa79a2e3 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-planning-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-planning.md" revision_date: '2021-09-09' tags: -- Использовать - App version 1.0 +- Использовать --- # Action Planning in Action Tracker { #action-planning-in-action-tracker } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md index faccf526..9b374ecd 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__ACTION-TRACKER-APP__APP-VERSION-10__PLANNING-TRACKING-AND-ANALYZING-ACTIONS__action-tracking-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/action_tracker/at-app-action-tracking.md" revision_date: '2021-09-09' tags: -- Использовать - App version 1.0 +- Использовать --- # Action Tracking in Action Tracker { #action-tracking-in-action-tracker } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index 9d5712b1..155daf5d 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Installing the BNA App { #installing-the-bna-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index f299832b..4b1b7046 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # BNA App Maintenance { #bna-app-maintenance } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index 58ed635e..7303e89f 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # BNA Analysis and Interpretation { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index 9bcb1a2f..6424059e 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # BNA App architecture { #bna-app-architecture } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index b0ada9c8..46fe46ce 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Bottleneck Analysis Dashboard and Demo server { #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index dcc2ec3e..df019e99 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # BNA App interventions configurations { #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index 67810e16..b36e20c9 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Visualization operations { #visualization-operations } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index 9e562d5a..95f178e3 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Adopting the use of the BNA App { #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index 928528b3..739395fc 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Capacity building { #capacity-building } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index 2cb9ad72..03c2dbcc 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # End User training { #end-user-training } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index 37c7e747..69872a06 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Guide to BNA App Implementation { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index 1ff0b9d7..9153cb59 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Integration Concepts for the BNA App. { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index 21fc131c..648fb7ce 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Opportunities and Challenges { #opportunities-and-challenges } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index 12ec134e..2fa49070 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Planning and organising { #planning-and-organising } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index e8f753ac..a68da36b 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Setting-up a new BNA App { #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index c6ecaabd..905d4ba0 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # BNA App Support and Scale-up { #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index 17a83e51..8fbaaf97 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - Использовать +- App version 1.2.2 --- # Scale-up and sustainability { #scale-up-and-sustainability } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index 4892892f..bc5135c7 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index ff571e35..542b6782 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index 676407f2..4d50efd7 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index a583eca0..551f92cc 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index b3f7caea..da5b4df7 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- # About this guide { #about_this_guide_ } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index 85a593c3..6132a766 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index d906a186..6c94f44c 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index b6f34058..698a84d6 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 2756c3a4..83b70de2 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md index 661a481a..d9fb9cdb 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/map-view.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - Использовать +- App version 1.4.0 --- Map View diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index 25d55ecb..a5f36267 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Использовать +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index 995b9aa9..e44e0259 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Использовать +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index 428b608e..8389a0e0 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - Использовать +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index de6cb6a8..f77448b9 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - Использовать +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 98ea8261..cec40877 100644 --- a/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/ru/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - Использовать +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index b01f742a..7dca8951 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index f5fc61a2..3b38f015 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # DHIS2 Frequently Asked Questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index 95f829fd..c338d025 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # DHIS2 Glossary { #dhis2_glossary } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 99942e29..b29fc820 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # DHIS2 Tutorials { #dhis2_tutorials } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 5c630078..b0b52e99 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Release and upgrade notes { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 7680ff30..933b2566 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Managing dashboards { #dashboard } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index 99244685..ede7841d 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Data Visualizer app { #data_visualizer } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index fdbd0c73..fd7cc9be 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Event Reports app { #event_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index db7a93d6..267007b5 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Event Visualizer app { #event_visualizer_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index 07464214..fd5284a1 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index 70867e4b..862e7371 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Maps app { #using_maps } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index 71b7089a..cc75c95c 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Reporting functionality in the reports app { #using_the_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md index 540ffe84..cb3f1e43 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Data approval { #data_approval_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index 5938411c..44c63add 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index 0219ad95..dd6c5560 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Data Entry app { #data_entry_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index e2294a54..99797852 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Control data quality { #control_data_quality } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 83fa2957..a04fb8b1 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # About sharing of objects { #sharing } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index 543aafc4..06ad9b37 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configure the Maps app { #gis_creating } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 579657da..a0f9bada 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configure metadata { #maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index 66bd0d80..cf8ee4ae 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configure programs in the Maintenance app { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 2d20f766..bc2ca1d3 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configure report functionality { #setting_up_reporting } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 8c2c4bbe..0b3d20d4 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # System settings { #settings } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index 3ae2bead..c2f2e429 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # User authorities { #user_authorities } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index c7cd05d5..6f9e08ff 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Manage users, user roles and user groups { #manage_user_role_group } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index 7a3b1f40..0f53f25f 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Import/Export App { #import_export } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index dd88cac7..cbeb5f41 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configure metadata synchronizing { #metadata_sync } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index 1ca05359..ae2069fe 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index ff12c7f9..b3538e57 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Data Administration { #data_admin } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md index 817e3480..fc9707fc 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Datastore Manager { #datastore_manager_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md index 10eb2383..c92a359e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- > **Caution** diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md index a032717c..5c52cef7 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md index fe13ba9a..db22d97d 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Scheduling { #scheduling } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index d3157361..555ebb93 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Visualize usage statistics { #using_usage_analytics } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index d5b439e1..e3b9b88b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Capture app { #capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 6ecaa0cb..c5559945 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Event Capture app { #event_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index e3053c54..45bc62d4 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Using the Tracker Capture app { #tracker_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index ad03eb3d..8e5d0d6b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # About data dimensions { #data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 0d7ab33e..2ae4a48f 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Additional data dimensions { #additional_data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index db3413e3..41114b5c 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Relationship model { #relationship_model } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 269105b3..ef5fd8b5 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Messaging { #messages } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index 3f4841c1..19f69258 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Personal access tokens { #personal_access_tokens } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index d7215fd8..beb171c0 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.38 - Использовать +- DHIS core version 2.38 --- # Set user account preferences { #user_account_preferences } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 82c3006f..498e913e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index 51ce1268..6b7a05ab 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # DHIS2 Frequently Asked Questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md index b223a45f..75d9e7ea 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # DHIS2 Glossary { #dhis2_glossary } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 5176eb20..f9a1488c 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # DHIS2 Tutorials { #dhis2_tutorials } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 814b1570..bb077ce4 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Release and upgrade notes { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md index bd643f5d..d30dbc2b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Managing dashboards { #dashboard } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md index eec3b064..7c5668ca 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Data Visualizer app { #data_visualizer } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md index f806b5eb..87d9b4d6 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Event Reports app { #event_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md index 3cefbfa7..eb302d2d 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Event Visualizer app { #event_visualizer_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md index 664f1b3e..bc0cfa36 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md index 48f8e3dc..23448afd 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-maps-app.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Maps app { #using_maps } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md index 562c8fed..edf82fc5 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Reporting functionality in the reports app { #using_the_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md index 87a00494..2ef79234 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Data approval { #data_approval_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md index 550a391a..159d7a15 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md index 632a634e..c8687445 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Data Entry (beta) app { #data-entry-beta-app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md index ef53947e..88d2d5a6 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Data Entry app { #data_entry_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md index 7391cea5..7f8dc09e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Control data quality { #control_data_quality } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 31444679..f04a3483 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # About sharing of objects { #sharing } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md index 2eaf180d..cdfa2729 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-the-gis-app.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configure DHIS2 Maps { #gis_creating } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md index 40983222..a60b3357 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata.md" revision_date: '2022-10-28' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configure metadata { #maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md index 5ab1dc17..57746376 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configure programs in the Maintenance app { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md index 065de4ff..5ab9b0d6 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configure report functionality { #setting_up_reporting } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md index 394f787a..b3e8a890 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/system-settings.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # System settings { #settings } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md index d3ed54fe..e13509bc 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # User authorities { #user_authorities } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index ab2ec14b..733c2eb3 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-10-12' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Manage users, user roles and user groups { #manage_user_role_group } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md index 918df03a..c855dfca 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-exchange.md" revision_date: '2023-02-16' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Data Exchange app { #data_exchange } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md index 7c0e2942..8a233478 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Import/Export App { #import_export } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md index 2e992999..34a156e8 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configure metadata synchronizing { #metadata_sync } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md index bd8ff976..1c5dea55 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md index bc5bee39..9526da35 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Data Administration { #data_admin } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md index a64941b9..36e97d0a 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Datastore Manager { #datastore_manager_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md index 6baab624..2925045e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- > **Caution** diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md index d8620f0a..a13babe1 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Mobile { #mobile } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md index 230f2fbe..a9b0517b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Scheduling { #scheduling } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index f54a4674..1f1bf3bc 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Visualize usage statistics { #using_usage_analytics } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index f5bce97b..f0db5165 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Capture app { #capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 1b7bd948..3ad9d156 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Event Capture app { #event_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 1c4a653b..c7831cae 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Using the Tracker Capture app { #tracker_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index f81e5195..15a411af 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # About data dimensions { #data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index f39789bf..0dd1d0d2 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Additional data dimensions { #additional_data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index 08993b81..29bb0f8a 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Relationship model { #relationship_model } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 81fe43e7..ef243100 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Messaging { #messages } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index a0c040ee..eee45808 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Personal access tokens { #personal_access_tokens } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index 5203d779..1df47dc2 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-239__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.39 - Использовать +- DHIS core version 2.39 --- # Set user account preferences { #user_account_preferences } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 487edd4a..4fd97013 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # About demo server, D2 cluster and database design { #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index f8e2d9d3..45839e72 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # DHIS2 Frequently Asked Questions { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md index 19cadb27..483b4dc2 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # DHIS2 Glossary { #dhis2_glossary } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md index f2dee33a..e78e65b7 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # DHIS2 Tutorials { #dhis2_tutorials } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 4bc9debf..1033071e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Release and upgrade notes { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md index e3c1f38c..19ac864e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dashboard-app/blob/master/docs/dashboards.md" revision_date: '2023-06-09' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Managing dashboards { #dashboard } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md index 00943b9e..0747c2c1 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/data-visualizer-app/blob/master/docs/data-visualizer.md" revision_date: '2024-04-11' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Data Visualizer app { #data_visualizer } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md index a8c1e945..ed6183bf 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Event Reports app { #event_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md index 63fae162..56686c2e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Event Visualizer app { #event_visualizer_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md index 398d3368..6ac3d986 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md index 585160d6..ccdbf5d9 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/maps-app/blob/master/docs/maps.md" revision_date: '2024-07-31' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Maps app { #using_maps } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md index cbff26a9..ba0fb911 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Reporting functionality in the reports app { #using_the_reports_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md index 355809f2..aad8428b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Data approval { #data_approval_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md index 37f3034d..7d5c1620 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Data approval overview { #data_approval_overview } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md index 781b71fc..4aec4248 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Data Entry (beta) app { #data-entry-beta-app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md index b1a2d1c5..829cae12 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Data Entry app { #data_entry_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md index 1e742285..97f83d2c 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Control data quality { #control_data_quality } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index e40648ff..49bbdb36 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # About sharing of objects { #sharing } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md index 0a46e7b6..d38470c8 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-the-gis-app.md" revision_date: '2022-10-23' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configure DHIS2 Maps { #gis_creating } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md index 8a83abf6..48e4dc7e 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-metadata.md" revision_date: '2023-07-20' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configure metadata { #maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md index 5c060e53..9336b00b 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-07-12' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configure programs in the Maintenance app { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md index 7178774e..d38abdd2 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configure report functionality { #setting_up_reporting } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md index 3cf42574..6c8e5741 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/system-settings.md" revision_date: '2024-01-25' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # System settings { #settings } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md index 44d40558..6ed6f14a 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # User authorities { #user_authorities } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index dc665c0c..dc25b0ce 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-10-12' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Manage users, user roles and user groups { #manage_user_role_group } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md index 7247234d..459de235 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-exchange.md" revision_date: '2023-02-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Data Exchange app { #data_exchange } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md index ca647c0a..b753ca50 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/importexport-app.md" revision_date: '2022-10-23' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Import/Export App { #import_export } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md index 9080152c..74a5e81d 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configure metadata synchronizing { #metadata_sync } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md index 63165c55..ce8e1496 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Configuring SMS { #sms-configuration-intro } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md index eb362f58..effbbf44 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/data-administration.md" revision_date: '2024-07-04' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Data Administration { #data_admin } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md index 578152f1..e6cc27a7 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Datastore Manager { #datastore_manager_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md index ec62a9be..55c23fcc 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- > **Caution** diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md index 2f4a5513..d5629703 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/mobile.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Mobile { #mobile } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md index bc1cc577..fd4bbdc6 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Scheduling { #scheduling } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index 2c3f8d71..217145c6 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Visualize usage statistics { #using_usage_analytics } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index ad28aa18..cc0e1cdd 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Capture app { #capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index 4b12dfa3..305462a4 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Event Capture app { #event_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 638808f9..448940bb 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Using the Tracker Capture app { #tracker_capture_app } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index c87c19a5..96aea458 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # About data dimensions { #data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index 5c1a93a3..83405ef4 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Additional data dimensions { #additional_data_dimensions } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index 98ee9671..d79bfcf0 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Relationship model { #relationship_model } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 3cbc42c6..03365195 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/messaging.md" revision_date: '2021-06-14' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Messaging { #messages } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index 6b501c17..bd8a61a8 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Personal access tokens { #personal_access_tokens } diff --git a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index aeb208e1..aa70370d 100644 --- a/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/ru/USE__USER-GUIDES__DHIS-CORE-VERSION-240__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- Использовать - DHIS core version 2.40 +- Использовать --- # Set user account preferences { #user_account_preferences } diff --git a/projects/docs-full-site/si/.cache_timestamp b/projects/docs-full-site/si/.cache_timestamp index bdbd7c57..fc2b79f8 100644 --- a/projects/docs-full-site/si/.cache_timestamp +++ b/projects/docs-full-site/si/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:22:22Z \ No newline at end of file +2024-11-05T21:25:56Z \ No newline at end of file diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..64e74738 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Audit { #audit } + +## Introduction { #introduction } + +DHIS2 supports a new audit service based on _Apache ActiveMQ Artemis_. Artemis is used as an asynchronous messaging system by DHIS2. + +After an entity is saved to database, an audit message will be created and sent to the Artemis message consumer service. The message will then be processed in a different thread. + +Audit logs can be retrieved from the DHIS2 database. Currently there is no UI or API endpoint available for retrieving audit entries. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## Single Audit table { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| Column | Type | Description | +| --- | --- | --- | +| auditid | integer | Primary key. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| auditscope | text | METADATA, AGGREGATE, TRACKER | +| klass | text | Audit Entity Java class name. | +| attributes | jsonb | A JSON string with attributes of the audited object. Example: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| data | bytea | Compressed JSON string of the audit entity in byte array format (not humanly readable). | +| createdat | timestamp without time zone | Time of creation. | +| createdby | text | Username of the user performing the audited operation. | +| uid | text | The UID of the audited object. | +| code | text | The code of the audited object. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## Audit Scope { #audit_scope } + +An audit scope is a logical area of the application which can be audited. Currently there are three audit scopes. + +| Scope | Key | Audited objects | +| --- | --- | --- | +| Tracker | TRACKER | Tracked Entity Instance, Tracked Entity Attribute Value, Enrollment, Event. | +| Metadata | METADATA | All metadata objects (e.g. Data Element, Organisation Unit). | +| Aggregate | AGGREGATE | Aggregate Data Value. | + +## Audit Type { #audit_type } + +An audit type is an action that triggers an audit operation. Currently we support the following four types. + +| Name | Key | Description | +| -------- | -------- | ------------------- | +| Read | READ | Object was read. | +| Create | CREATE | Object was created. | +| Update | UPDATE | Object was updated. | +| Delete | DELETE | Object was deleted. | +| Disabled | DISABLED | Disable audit. | + +> **Caution** +> +> The READ audit type may generate a lot of data in the database and may have an impact on the performance. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityinstanceauditid | integer | Primary key. | +| trackedentityinstance | text | Tracked entity instance name. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| comment | text | The code of the audited object. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentityattributevalueauditid | integer | Primary key. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | integer | Attribute ID. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| encryptedvalue | text | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| Column | Type | Description | +| --- | --- | --- | +| trackedentitydatavalueauditid | integer | Primary key. | +| programstageinstanceid | integer | Program stage ID of which the data value belongs to. | +| dataelementid | integer | ID of the data element. | +| created | timestamp without time zone | Time of creation. | +| modifiedby | text | Username of the user performing the audited operation. | +| audittype | text | READ, CREATE, UPDATE, DELETE, SEARCH | +| value | text | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## Breaking the glass { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| Column | Type | Description | +| --- | --- | --- | +| programtempownershipauditid | integer | Primary key. | +| programid | integer | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | integer | Instance ID of which the attribute value belongs to. | +| created | timestamp without time zone | Time of creation. | +| accessedby | text | Username of the user performing the audited operation. | +| reason | text | The reason as inserted in the dialog. | + +## Setup { #audit_configuration } + +The audit system is enabled by default for the following scopes and types. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Types: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +This means that **no action is required** to enable the default audit system. The default setting is equivalent to the following `dhis.conf` configuration. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +The audit can be configured using the _audit matrix_. The audit matrix represents the valid combinations of scopes and types, and is defined with the following properties in the `dhis.conf` configuration file. Each property accepts a semicolon (`;`) delimited list of audit types. + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## Examples { #examples } + +This section demonstrates how to configure the audit system in `dhis.conf`. + +To enable audit of create and update of metadata and tracker only: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +To only audit tracker related objects create and delete: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +To completely disable audit for all scopes: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..e254c8c1 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## Overview { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +This feature is built upon the `SwitchUserFilter` from Spring Security, but with additional configuration options. + +> **Note** +> +> The feature is **disabled** by default. To enable it, you must set the `switch_user_feature.enabled` property +> to `true` in +> your `dhis.conf` file. +> +> This feature is considered **experimental** and is only meant to be called from configured IP address(s). Hence, to +> use it +> you must know the IP address from which you will be calling it and configure the `switch_user_allow_listed_ips` +> property +> in the `dhis.conf` file. This restriction might be removed in the future. + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. An administrative user makes a request to a specific URL (e.g., `/impersonate?username=USERNAME`) with the `username` + parameter + indicating the username of the user they wish to impersonate. + +2. The user impersonation feature intercepts this request, switches the `SecurityContext` to the new user, and redirects + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + e.g., `/impersonateExit`). The user impersonation feature intercepts this request, switches the `SecurityContext` + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. Log in as an administrative user with either the `ALL` or `F_IMPERSONATE_USER` authority. +2. Navigate to the URL for user impersonation (e.g., `/impersonate?username=USERNAME`). +3. Provide the `username` parameter of the user you wish to impersonate. +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. When you're finished, navigate to the URL to end impersonation (e.g., `/impersonateExit`). Your session will be + switched back to your original administrative user. + +## Configuration { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..47a125ab --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Deployment Architectures { #deployment-architectures } + +## Introduction { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|Description| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..6b85fa4d --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## Introduction { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +Later DHIS2 versions require the following software versions to operate. + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. PostGIS database extension version 2.2 or later. +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | Task| Description | Status | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Month|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|Training|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|July|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..67c5bf74 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. Start the server + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/si/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/si/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..9cb2b364 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Manage +--- + +# Using Gateways for SMS reporting { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +Sending SMS, i.e. from the DHIS2 server to mobile devices, is relatively simple to set up. If all that is required is the sending of notifications to users phones from DHIS2 when certain events occur (messaging, thresholds e.t.c.) only sending SMS is required. + +This can all be configured in the SMS Service Configuration page within the [Mobile Configuration section](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html). + +There is out of the box support for common providers such as *Bulk SMS* and *Clickatell*, and both providers support sending of SMS to numbers in most countries. + +Note also, it is possible to use a different SMS Gateway for sending and receiving SMS. So even if you set up a solution for receiving SMS below, it is still possible to use one of the aforementioned solutions above for sending SMS. + +## Using an Android device as SMS Gateway { #sms_report_android_gateway } + +The simplest solution by far is to use a dedicated Android device as your SMS Gateway. Any phone or tablet running Android OS (4.4, Kitkat or above) should be fine. It will require a constant internet connection, in order to forward messages to your DHIS2 server and it will also need a SIM card to receive the incoming SMS. + +You’ll need to download and install the DHIS2 Android SMS Gateway app on the mobile device. See a list of [releases](https://github.com/dhis2/dhis2-sms-android-gateway/releases) where you can download the latest APK file to install. There are instructions on the app page itself, but essentially you’ll just need to start the app and enter the details of your DHIS2 server (URL, username and password). + +Once this is set up and running, you then enter the phone number of this gateway device in the configuration page of any other mobile device using the DHIS2 Capture App. Then, when SMS are sent from these reporting devices, they will be received on the gateway device and automatically forwarded to the DHIS2 server where they will be processed. + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### Sending SMS using an Android Device Gateway { #sending-sms-using-an-android-device-gateway } + +This option is currently not supported nor documented. + +## Dedicated SMS Gateways { #sms_report_dedicated_gateway } + +This section discusses the use of more permanent and dedicated SMS gateways and the options available. Each of these options below will involve a provider (or yourself) having an SMPP connection to a phone carrier in country and using this connection to receive incoming SMS and forward them on to your DHIS2 server over the internet using HTTP. + +These solutions can either use a **long number** or **short code**. A long number is a standard mobile phone number of the type that most private people use, i.e. +61 400123123. A short code is simply a short number, such as 311. Short codes typically cost more to set up and maintain. + +### Ensuring incoming SMS to DHIS2 server are formatted correctly { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +When sending incoming SMS to a DHIS2 server via the API you use the following URL: *https:///api/sms/inbound* + +In DHIS2 version 2.34 and below, this endpoint requires the format of inbound SMS to be in a very specific format, i.e. the message itself must be a parameter called text, the phone number of the sender must be a parameter called originator. + +When using all of the below SMS gateway options, when you configure them to forward incoming SMS on to another web service, they will each have their own format, which will be different to the one expected by the DHIS2 API. For this reason then, it’s necessary to reformat them before sending them on to the DHIS2 server. + +One option is to run your own very simple web service, which simply receives the incoming SMS from the gateway provider, reformats it to the one required for DHIS2 and forwards it on to your DHIS2 API. Such a service would need to be written by a software developer. + +In DHIS2 version 2.35, it is planned to support these cases with a templating system for incoming SMS, so you can specify the format of the messages which will be sent from your provider. That way, you can configure the DHIS2 server to accept incoming SMS from any other SMS gateway provider and they can directly send incoming SMS to the DHIS2 API, without the need for such a formatting web service. + +### Using RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/) is a service run by UNICEF in over 50 countries around the world. It is a collection of software which works with in-country phone carriers to enable organisations to design SMS solutions for their projects, such as SMS reporting or awareness campaigns. + +The RapidPro service will involve an SMPP connection to one or more phone carriers in-country, usually via a shortcode, potentially dedicated to Health work for NGOs. It’s then possible to add a webhook so that incoming SMS are forwarded to another web service, such as the formatting web service described above. If the shortcode is used for other purposes as well, it may be necessary to add the phone numbers of your reporting devices to a separate group, so that only the incoming SMS from those devices is forwarded to the webhook. + +RapidPro is currently set up and running in roughly half of the countries which are currently using or piloting DHIS2. Before considering one of the solutions below, which can be costly in terms of both finance and time, it is worth getting in contact with Unicef to see if RapidPro is available and if it can be used for health reporting in your country. + +### Using commercial SMS gateway providers { #using-commercial-sms-gateway-providers } + +Of the commercial SMS gateway providers mentioned in the Sending SMS section above, they will usually have capability to *send* SMS in most countries but can only support *receiving* SMS in a limited amount of countries. The majority of countries they support receiving SMS in are not those using DHIS2. Of the countries that are using DHIS2, most are already covered by having a RapidPro service running in-country. + +However, it is worth researching what commercial options are available for your country. In some countries there will be small national companies that provide SMS services, they’ll have existing SMPP connections with the phone providers you can use. + +### Using phone carriers directly { #using-phone-carriers-directly } + +If none of the above solutions are available it would be necessary to approach the phone carriers in your country directly. The first question to ask them would be whether they are aware of any companies which are operating SMPP connections with them which you may be able to approach. + +If not, as a final option, you would need to consider setting up and maintaining your own SMPP connection with the phone provider. However, not all phone providers might offer such a service. + +You would need to run your own server running software such as [Kannel](https://www.kannel.org/), which connects (usually via a VPN) to an SMPP service running in the phone providers network. With this in place, any incoming SMS for the configured long number or shortcode are sent from the phone carrier to your Kannel server and you can then forward on these messages as above. + +### Receiving concatenated or multipart SMS { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +When selecting an SMS gateway then, it is important to confirm that the phone carrier used supports concatenated SMS. Most of them will support this, but it is important to confirm as the SMS functionality will not work if SMS are split. This relies on something called a UDH (User Data Header). When discussing with providers then, ensure you ask if it is supported. + diff --git a/projects/docs-full-site/si/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..a9150b2f --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..6384a1be --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## Creating a user to run DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **Important** +> +> You should not run the DHIS2 server as a privileged user such as root. + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## Creating the configuration directory { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## PostgreSQL installation { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Java installation { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | Installation +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +Verify that your installation is correct by invoking: +``` +java -version +``` + +## DHIS2 configuration { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +A configuration file for PostgreSQL corresponding to the above setup has +these properties: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Tomcat and DHIS2 installation { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## Running DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..74ff92d1 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/si/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/si/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..c93e3ddc --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Cloud Hosting { #cloud-hosting } + +## Introduction { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/si/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/si/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..48754856 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Physical Hosting { #physical-hosting } + +## Introduction { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/si/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/si/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..c1f59860 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Requirements { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## Conclusion { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/si/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/si/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..e5f69274 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Web server cluster configuration { #install_web_server_cluster_configuration } + +This section describes how to set up the DHIS 2 application to run in a +cluster. + +# Clustering overview { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +There are a few aspects to configure in order to run DHIS 2 +in a cluster. + +* A Redis data store must be installed and connection information must +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +apps and file uploads, either through the *AWS S3 cloud filestorage* option +or a shared network drive. + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +across the cluster instances. + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Redis shared data store cluster configuration { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- *redis.host*: Specifies where the redis server is running. Defaults to *localhost*. Mandatory. + +- *redis.port*: Specifies the port in which the redis server is listening. Defaults to *6379*. Optional. + +- *redis.password*: Specifies the authentication password. If a password is not required it can be left blank. + +- *redis.use.ssl*: Specifies whether the Redis server has SSL enabled. Defaults to false. Optional. Defaults to *false*. + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### Files folder configuration { #files-folder-configuration } + +DHIS 2 will store several types of files outside the application itself, +such as apps, files saved in data entry and user avatars. When deployed +in a cluster, the location of these files must be shared across all instances. +On the local filesystem, the location is: + +``` +{DHIS2_HOME}/files +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +There are two ways to achieve a shared location: + +* Use the *AWS S3 cloud filestorage* option. Files will be stored in an +S3 bucket which is automatically shared by all DHIS 2 instances in the cluster. +See the *File store configuration* section for guidance. +* Set up a shared folder which is shared among all DHIS 2 instances and +servers in the cluster. On Linux this can be achieved with *NFS* (Network File System) +which is a distributed file system protocol. Note that only the `files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## Load balancer configuration { #install_load_balancing } + +With a cluster of Tomcat instances set up, a common approach for routing +incoming web requests to the backend instances participating in the +cluster is using a *load balancer*. A load balancer will make sure that +load is distributed evenly across the cluster instances. It will also +detect whether an instance becomes unavailable, and if so, stop routine +requests to that instance and instead use other available instances. + +Load balancing can be achieved in multiple ways. A simple approach is +using *nginx*, in which case you will define an *upstream* element which +enumerates the location of the backend instances and later use that +element in the *proxy* location block. + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2 keeps server-side state for user sessions to a limited degree. +Using "sticky sessions" is a simple approach to avoid replicating the +server session state by routing requests from the same client to the +same server. The *ip\_hash* directive in the upstream element ensures +this. + +Note that several instructions have been omitted for brevity in the +above example. Consult the reverse proxy section for a detailed guide. + diff --git a/projects/docs-full-site/si/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/si/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..daabc003 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/si/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..e30ec704 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```properties +connection.password = ${DB_PASSWD} +``` + +Note that this file contains the password for your DHIS2 database in clear +text so it needs to be protected from unauthorized access. To do this, +invoke the following command which ensures only the *dhis* user is allowed to read it: + +```sh +chmod 600 dhis.conf +``` + +## Encryption configuration { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```properties +encryption.password = xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +The password must be at least **24 characters long**. A mix of numbers +and lower- and uppercase letters is recommended. The encryption password +must be kept secret. + +> **Important** +> +> It is not possible to recover encrypted data if the encryption password is lost or changed. If the password is lost, so is the encrypted data. Conversely, the encryption provides no security if +> the password is compromised. Hence, great consideration should be given to storing the password in a safe place. + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## System configuration { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +Sets the system in read-only mode. This is useful when you run DHIS 2 on a read-only replica database, to avoid DHIS 2 performing database write operations. Can be `on` or `off`. Default is `off`. + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +Enables or disables the sensitive database table protection for SQL views. This will prohibit database tables with sensitive data to be queried through SQL views. Disabling is not recommended. Can be `on` or `off`. Default is `on`. + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +Enables or disables execution of server-side program rules. This refers to program rules which have actions for assigning values, sending messages or scheduling messages to be sent. Can be `on` or `off`. Default is `on`. + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/si/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..c21b3ffa --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# File store configuration { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/si/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..9371152b --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Google service account configuration { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - Create a Google service account. Please consult the [Google identify + platform](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + documentation. + + - Visit the [Google cloud console](https://console.cloud.google.com) + and go to API Manager \> Credentials \> Create credentials \> + Service account key. Select your service account and JSON as key + type and click Create. + + - Rename the JSON key to *dhis-google-auth.json*. + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/si/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..1a15f424 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## LDAP configuration { #install_ldap_configuration } + +DHIS2 is capable of using an LDAP server for authentication of users. +For LDAP authentication it is required to have a matching user in the +DHIS2 database per LDAP entry. The DHIS2 user will be used to represent +authorities / user roles. + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```properties +# LDAP server URL +ldap.url = ldaps://domain.org:636 + +# LDAP manager entry distinguished name +ldap.manager.dn = cn=johndoe,dc=domain,dc=org + +# LDAP manager entry password +ldap.manager.password = xxxx + +# LDAP base search +ldap.search.base = dc=domain,dc=org + +# LDAP search filter +ldap.search.filter = (cn={0}) +``` + +The LDAP configuration properties are explained below: + +- *ldap.url:* The URL of the LDAP server for which to authenticate + against. Using SSL/encryption is strongly recommended in order to + make authentication secure. As example URL is + *ldaps://domain.org:636*, where ldaps refers to the protocol, + *domain.org* refers to the domain name or IP address, and *636* + refers to the port (636 is default for LDAPS). +- *ldap.manager.dn:* An LDAP manager user is required for binding to + the LDAP server for the user authentication process. This property + refers to the DN of that entry. I.e. this is not the user which will + be authenticated when logging into DHIS2, rather the user which + binds to the LDAP server in order to do the authentication. +- *ldap.manager.password:* The password for the LDAP manager user. +- *ldap.search.base:* The search base, or the distinguished name of + the search base object, which defines the location in the directory + from which the LDAP search begins. +- *ldap.search.filter:* The filter for matching DNs of entries in the + LDAP directory. The {0} variable will be substituted by the DHIS2 + username, or alternatively, the LDAP identifier defined for the user + with the supplied username. + +DHIS2 will use the supplied username / password and try to authenticate +against an LDAP server entry, then look up user roles / authorities from +a corresponding DHIS2 user. This implies that a user must have a +matching entry in the LDAP directory as well as a DHIS2 user in order to +log in. + +During authentication, DHIS2 will try to bind to the LDAP server using +the configured LDAP server URL and the manager DN and password. Once the +binding is done, it will search for an entry in the directory using the +configured LDAP search base and search filter. + +The {0} variable in the configured filter will be substituted before +applying the filter. By default, it will be substituted by the supplied +username. You can also set a custom LDAP identifier on the relevant +DHIS2 user account. This can be done through the DHIS2 user module user +interface in the add or edit screen by setting the "LDAP identifier" +property. When set, the LDAP identifier will be substituted for the {0} +variable in the filter. This feature is useful when the LDAP common name +is not suitable or cannot for some reason be used as a DHIS2 username. + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/si/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..ce2166a7 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Application logging { #install_application_logging } + +This section covers application logging in DHIS2. + +## Log files { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## Log configuration { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```properties +# Max size for log files, default is '100MB' +logging.file.max_size = 250MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +Common log levels are `DEBUG`, `INFO`, `WARN` and `ERROR`. + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## Changelog { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```properties +# Aggregate changelog, can be 'on', 'off' +changelog.aggregate = on + +# Tracker changelog, can be 'on', 'off' +changelog.tracker = on +``` + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/si/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..e3e07769 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Monitoring { #monitoring } + +## Introduction { #monitoring } + +DHIS2 can export [Prometheus](https://prometheus.io/) compatible metrics for monitoring DHIS2 nodes. + +This section describes the steps required to install Prometheus and [Grafana](https://grafana.com/) using a standard installation procedure (`apt-get`) and Docker and configure Grafana to show DHIS2 metrics. + +For a list of the metrics exposed by a DHIS2 instance, please refer to the monitoring guide on [GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md). + +## Setup { #monitoring_setup } + +The next sections describe how to set up Prometheus and Grafana and how to set up Prometheus to pull data from one or more DHIS2 instances. + +### Installing Prometheus + Grafana on Ubuntu and Debian { #prometheus } + +- Download Prometheus from the official [download](https://prometheus.io/download/) page. + +- Make sure to filter for your operating system and your CPU architecture (Linux and amd64). + +- Make sure to select the latest stable version, and not the “rc” one, as it is not considered stable enough for now. + +- Download the archive, either by clicking on the link or using `wget`. + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- Untar the zip + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +The archive contains many important files, but here is the main ones you need to know. + +- `prometheus.yml`: the configuration file for Prometheus. This is the file that you are going to modify in order to tweak your Prometheus server, for example to change the scraping interval or to configure custom alerts; +- `prometheus`: the binary for your Prometheus server. This is the command that you are going to execute to launch a Prometheus instance on your Linux box; +- `promtool`: this is a command that you can run to verify your Prometheus configuration. + +### Configuring Prometheus as a service { #prometheus_service } + +- Create a `Prometheus` user with a `Prometheus` group. + +``` +useradd -rs /bin/false prometheus +``` + +- Move the Prometheus binaries to the local bin directory + +``` +cd prometheus-2.15.2.linux-amd64/ +cp prometheus promtool /usr/local/bin +chown prometheus:prometheus /usr/local/bin/prometheus +``` + +- Create a folder in the `/etc` folder for Prometheus and move the console files, console libraries and the prometheus configuration file to this newly created folder. + +``` +mkdir /etc/prometheus +cp -R consoles/ console_libraries/ prometheus.yml /etc/prometheus +``` + +Create a data folder at the root directory, with a prometheus folder inside. + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### Create a Prometheus service { #prometheus_create_service } + +To create a Prometheus _systemd_ service, head over to the `/lib/systemd/system` folder and create a new systemd file named `prometheus.service`. + +``` +cd /lib/systemd/system +touch prometheus.service +``` + +- Edit the newly created file, and paste the following content inside: + +```properties +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +User=prometheus +Group=prometheus +ExecStart=/usr/local/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path="/data/prometheus" \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries \ + --web.listen-address=0.0.0.0:9090 \ + --web.enable-admin-api + +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +- Save the file and enable the Prometheus service at startup + +``` +systemctl enable prometheus +systemctl start prometheus +``` + +- Test that the service is running + +``` +systemctl status prometheus + +... +Active: active (running) +``` + +- It should be now possible to access the Prometheus UI by accessing `http://localhost:9090`. + + +### Set-up Nginx reverse proxy { #prometheus_nginx } + +Prometheus does not natively support authentication or TLS encryption. If Prometheus has to be exposed outside the boundaries of the local network, it is important to enable authentication and TLS encryption. The following steps show how to use Nginx as a reverse proxy. + +- Install Nginx, if not already installed + +``` +apt update +apt-get install nginx +``` + +By default, Nginx will start listening for HTTP requests in the default `http` port, which is `80`. + +If there is already an Nginx instance running on the machine and you are unsure on which port it is listening on, run the following command: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792 root 8u IPv4 1140223421 0t0 TCP *:http (LISTEN) +``` + +The last column shows the port used by Nginx (`http` -> `80`). + +By default, Nginx configuration is located in `/etc/nginx/nginx.conf` + +Make sure that `nginx.conf` contains the `Virtual Host Config` section + +``` +## +# Virtual Host Configs +## + +include /etc/nginx/conf.d/*.conf; +include /etc/nginx/sites-enabled/*; + +``` + +- Create a new file in `/etc/nginx/conf.d` called `prometheus.conf` + +``` +touch /etc/nginx/conf.d/prometheus.conf +``` + +- Edit the newly created file, and paste the following content inside: + +``` +server { + listen 1234; + + location / { + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx and browse to http://localhost:1234 + +``` +systemctl restart nginx + +# in case of start-up errors +journalctl -f -u nginx.service +``` + +- Configure Prometheus for reverse proxying, by editing `/lib/systemd/system/prometheus.service` and add the following argument to the list of arguments passed to the Prometheus executable. + +``` +--web.external-url=https://localhost:1234 +``` + +- Restart the service + +``` +systemctl daemon-reload +systemctl restart prometheus + + +# in case of errors +journalctl -f -u prometheus.service +``` + +### Enable reverse proxy authentication { #prometheus_auth } + +This section shows how to configure basic authentication via the reverse proxy. If you need a different authentication mechanism (SSO, etc.) please check the relevant documentation. + +- Make sure that `htpasswd` is installed on the system + +``` +apt-get install apache2-utils +``` + +- Create an authentication file + +``` +cd /etc/prometheus +htpasswd -c .credentials admin +``` + +Choose a strong password, and make sure that the pass file was correctly created. + +- Edit the previously created Nginx configuration file (`/etc/nginx/conf.d/prometheus.conf`), and add the authentication information. + +``` +server { + listen 1234; + + location / { + auth_basic "Prometheus"; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http://localhost:9090/; + } +} +``` + +- Restart Nginx + +``` +systemctl restart nginx + +# in case of errors +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` should now prompt for username and password. + +### Installing Grafana on Ubuntu and Debian { #grafana } + +- Add a `gpg` key and install the OSS Grafana package from APT repo + +```sh +apt-get install -y apt-transport-https + +wget -q -O - "https://packages.grafana.com/gpg.key" | sudo apt-key add - + +add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" + +apt-get update + +apt-get install grafana +``` + +- If the system is using `systemd`, a new `grafana-service` is automatically created. Check the `systemd` file to gain some insight on the Grafana installation + +``` +cat /usr/lib/systemd/system/grafana-server.service +``` + +This file is quite important because it offers information about the newly installed Grafana instance. + +The file shows: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- Start the server + +``` +systemctl start grafana-server +``` + +- Access Grafana web console: http://localhost:3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- Configure Prometheus as a Grafana datasource + +Access to the datasources panel by clicking on `Configuration` > `Data sources` via the left menu. + +Click on `Add a datasource` + +Select a Prometheus data source on the next window. + +Configure the datasource according to the Prometheus setup (use authentication, TSL, etc.) + +### Installing Prometheus + Grafana using Docker { #prometheus_grafana_docker } + +This section describes how to start-up a Prometheus stack containing Prometheus and Grafana. + +The configuration is based on this project: https://github.com/vegasbrianc/prometheus + +- Clone this Github project: https://github.com/vegasbrianc/prometheus + +- Start the Prometheus stack using: + +``` +docker stack deploy -c docker-stack.yml prom +``` + +The above command, may result in the following error: + +*This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again* + +If that happens, you need to start Swarm. You can use the following command line: + +``` +docker swarm init --advertise-addr +``` + +Once this command runs successfully, you should be able to run the previous command without problems. + +The stack contains also a Node exporter for Docker monitoring. If you are not interested in Docker monitoring, you can comment out the relevant sections in the `docker-stack.yml` file: + +- `node-exporter` +- `cadvisor` + +- To stop the Prometheus stack: + +``` +docker stack rm prom +``` + +The Prometheus configuration (`prometheus.yml`) file is located in the `prometheus` folder. + +- Access Grafana web console at: http://localhost:3000 with username: `admin` and password: `foobar` + +### Configure Prometheus to pull metrics from one or more DHIS2 instances { #prometheus_dhis2 } + +Prior to using Prometheus, it needs basic configuring. Thus, we need to create a configuration file named `prometheus.yml` + +> **Note** +> +> The configuration file of Prometheus is written in YAML which strictly forbids to use tabs. If your file is incorrectly formatted, Prometheus will not start. Be careful when you edit it. + +Prometheus’ configuration file is divided into three parts: `global`, `rule_files`, and `scrape_configs`. + +In the global part we can find the general configuration of Prometheus: `scrape_interval` defines how often Prometheus scrapes targets, `evaluation_interval` controls how often the software will evaluate rules. Rules are used to create new time series and for the generation of alerts. + +The `rule_files` block contains information of the location of any rules we want the Prometheus server to load. + +The last block of the configuration file is named `scape_configs` and contains the information which resources Prometheus monitors. + +A simple DHIS2 Prometheus monitoring file looks like this example: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +The global `scrape_interval` is set to 15 seconds which is enough for most use cases. + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +Prometheus may or may not run on the same server as DHIS2: in the above configuration, it is assumed that Prometheus monitors only one DHIS2 instance, running on the same server as Prometheus, so we use `localhost`. + +### Configure the DHIS2 exporter { #dhis2_metrics_conf } + +The monitoring subsystem is disabled by default in DHIS2. + +Each metrics cluster has to be explicitly enabled in order for the metrics to be exported. To configure DHIS2 to export one or more metrics, check this [document](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration). + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/si/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..6d3f4ec2 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +# OpenID Connect (OIDC) configuration { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* Google +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### IdP claims and mapping of users { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## Configure the Identity Provider for OIDC { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### Redirect URL { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. Search for and select *App registrations*. +2. Click *New registration*. +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. Click *Register*. + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +In the example below we will configure the Norwegian governmental _HelseID_ OIDC provider using the provider key `helseid`. + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## Requirements { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +The following `dhis.conf` section shows an example of how to enable JWT authentication for an API-based client. + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/si/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..7fe5913e --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### PostgreSQL performance tuning { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +sudo nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```properties +max_connections = 200 +``` + +Determines maximum number of connections which PostgreSQL will allow. + +```properties +shared_buffers = 3GB +``` + +Determines how much memory should be allocated exclusively for +PostgreSQL caching. This setting controls the size of the kernel shared +memory which should be reserved for PostgreSQL. Should be set to around +40% of total memory dedicated for PostgreSQL. + +```properties +work_mem = 24MB +``` + +Determines the amount of memory used for internal sort and hash +operations. This setting is per connection, per query so a lot of memory +may be consumed if raising this too high. Setting this value correctly +is essential for DHIS2 aggregation performance. + +```properties +maintenance_work_mem = 1GB +``` + +Determines the amount of memory PostgreSQL can use for maintenance +operations such as creating indexes, running vacuum, adding foreign +keys. Increasing this value might improve performance of index creation +during the analytics generation processes. + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```properties +checkpoint_completion_target = 0.8 +``` + +Sets the memory used for buffering during the WAL write process. +Increasing this value might improve throughput in write-heavy systems. + +```properties +synchronous_commit = off +``` + +Specifies whether transaction commits will wait for WAL records to be +written to the disk before returning to the client or not. Setting this +to off will improve performance considerably. It also implies that there +is a slight delay between the transaction is reported successful to the +client and it actually being safe, but the database state cannot be +corrupted and this is a good alternative for performance-intensive and +write-heavy systems like DHIS2. + +```properties +wal_writer_delay = 10s +``` + +Specifies the delay between WAL write operations. Setting this to a high +value will improve performance on write-heavy systems since potentially +many write operations can be executed within a single flush to disk. + +```properties +random_page_cost = 1.1 +``` + +*SSD only.* Sets the query planner's estimate of the cost of a non-sequentially-fetched disk page. A low value will cause the system to prefer index scans over sequential scans. A low value makes sense for databases running on SSDs or being heavily cached in memory. The default value is 4.0 which is reasonable for traditional disks. + +```properties +max_locks_per_transaction = 96 +``` + +Specifies the average number of object locks allocated for each transaction. This is set mainly to allow upgrade routines which touch a large number of tables to complete. + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +Restart PostgreSQL by invoking the following command: + +```sh +sudo systemctl restart postgresql +``` + +## Read replica database configuration { #install_read_replica_configuration } + +DHIS 2 allows for utilizing read only replicas of the master database +(the main DHIS 2 database). The purpose of read replicas is to enhance +the performance of database read queries and scale out the capacity +beyond the constraints of a single database. Read-heavy operations such +as analytics and event queries will benefit from this. + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```properties +# Read replica 1 configuration + +# Database connection URL, username and password +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +# Read replica 2 configuration + +# Database connection URL, username and password +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +# Read replica 3 configuration + +# Database connection URL, fallback to master for username and password +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +Note that you must restart your servlet container for the changes to +take effect. DHIS 2 will automatically distribute the load across the +read replicas. The ordering of replicas has no significance. + +## Working with the PostgreSQL database { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +To restore the database copy on another system, you first need to create an empty database as described in the installation section. You also need to `gunzip` the copy if you created a compressed version. To restore the copy you can invoke the following command: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/si/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..f54f9715 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## Reverse proxy configuration { #install_reverse_proxy_configuration } + +A reverse proxy is a proxy server that acts on behalf of a server. Using +a reverse proxy in combination with a servlet container is optional but +has many advantages: + + - Requests can be mapped and passed on to multiple servlet containers. + This improves flexibility and makes it easier to run multiple + instances of DHIS2 on the same server. It also makes it possible to + change the internal server setup without affecting clients. + + - The DHIS2 application can be run as a non-root user on a port + different than 80 which reduces the consequences of session + hijacking. + + - The reverse proxy can act as a single SSL server and be configured + to inspect requests for malicious content, log requests and + responses and provide non-sensitive error messages which will + improve security. + +### Basic nginx setup { #install_basic_nginx_setup } + +We recommend using [nginx](http://www.nginx.org) as a reverse proxy due to +its low memory footprint and ease of use. To install invoke the +following: + + sudo apt-get install -y nginx + +nginx can now be started, reloaded and stopped with the following +commands: + + sudo /etc/init.d/nginx start + sudo /etc/init.d/nginx reload + sudo /etc/init.d/nginx stop + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + sudo nano /etc/nginx/nginx.conf + +nginx configuration is built around a hierarchy of blocks representing +http, server and location, where each block inherits settings from parent +blocks. The following snippet will configure nginx to proxy pass +(redirect) requests from port 80 (which is the port nginx will listen on +by default) to our Tomcat instance. Include the following configuration +in nginx.conf: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +You can now access your DHIS2 instance at *http://localhost*. Since the +reverse proxy has been set up we can improve security by making Tomcat +only listen for local connections. In */conf/server.xml* you can add an +*address* attribute with the value *localhost* to the Connector element +for HTTP 1.1 like this: + +```xml + +``` + +### Enabling SSL with nginx { #install_enabling_ssl_on_nginx } + +In order to improve security it is recommended to configure the server +running DHIS2 to communicate with clients over an encrypted connection +and to identify itself to clients using a trusted certificate. This can +be achieved through SSL which is a cryptographic communication protocol +running on top of TCP/IP. First, install the required *openssl* library: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +When you have received your certificate files (.pem or .crt) you will +need to place it together with the generated server.key file in a +location which is reachable by nginx. A good location for this can be +the same directory as where your nginx.conf file is located. + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +Note the last `https` header value which is required to inform the +servlet container that the request is coming over HTTPS. In order for +Tomcat to properly produce `Location` URL headers using HTTPS you also need +to add two other parameters to the Connector in the Tomcat `server.xml` file: + +```xml + +``` + +### Enabling caching with nginx { #install_enabling_caching_ssl_nginx } + +Requests for reports, charts, maps and other analysis-related resources +will often take some time to respond and might utilize a lot of server +resources. In order to improve response times, reduce the load on the +server and hide potential server downtime we can introduce a cache proxy +in our server setup. The cached content will be stored in directory +/var/cache/nginx, and up to 250 MB of storage will be allocated. Nginx +will create this directory automatically. + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **Important** +> +> Be aware that a server side cache shortcuts the DHIS2 security +> features in the sense that requests which hit the server side cache +> will be served directly from the cache outside the control of DHIS2 +> and the servlet container. This implies that request URLs can be +> guessed and reports retrieved from the cache by unauthorized users. +> Hence, if you capture sensitive information, setting up a server side +> cache is not recommended. + +### Rate limiting with nginx { #install_rate_limiting } + +Certain web API calls in DHIS 2, like the `analytics` APIs, are compute intensive. As a result it is favorable to rate limit these APIs in order to allow all users of the system to utilize a fair share of the server resources. Rate limiting can be achieved with `nginx`. There are numerous approaches to achieving rate limiting and this is intended to document the nginx-based approach. + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +The various elements of the configuration can be described as: + +- *limit_req_zone $binary_remote_addr*: Rate limiting is done per request IP. +- *zone=limit_analytics:20m*: A rate limit zone for the analytics API which can hold up to 10 MB of request IP addresses. +- *rate=20r/s*: Each IP is granted 5 requests per second. +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +For a full explanation please consult the [nginx documentation](https://www.nginx.com/blog/rate-limiting-nginx/). + +### Making resources available with nginx { #install_making_resources_available_with_nginx } + +In some scenarios it is desirable to make certain resources publicly +available on the Web without requiring authentication. One example is +when you want to make data analysis related resources in the web API +available in a Web portal. The following example will allow access to +charts, maps, reports, report table and document resources through basic +authentication by injecting an *Authorization* HTTP header into the +request. It will remove the Cookie header from the request and the +Set-Cookie header from the response in order to avoid changing the +currently logged in user. It is recommended to create a user for this +purpose given only the minimum authorities required. The Authorization +value can be constructed by Base64-encoding the username appended with a +colon and the password and prefix it "Basic ", more precisely "Basic +base64\_encode(username:password)". It will check the HTTP method used +for requests and return *405 Method Not Allowed* if anything but GET is +detected. + +It can be favorable to set up a separate domain for such public users +when using this approach. This is because we don't want to change the +credentials for already logged in users when they access the public +resources. For instance, when your server is deployed at somedomain.com, +you can set a dedicated subdomain at api.somedomain.com, and point URLs +from your portal to this subdomain. + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/si/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/si/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..d7026299 --- /dev/null +++ b/projects/docs-full-site/si/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/zh/.cache_timestamp b/projects/docs-full-site/zh/.cache_timestamp index 2c54ef30..0af27435 100644 --- a/projects/docs-full-site/zh/.cache_timestamp +++ b/projects/docs-full-site/zh/.cache_timestamp @@ -1 +1 @@ -2024-11-04T21:22:25Z \ No newline at end of file +2024-11-05T21:26:02Z \ No newline at end of file diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md index 3ccf3605..523347c0 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/analytics.md" revision_date: '2023-12-13' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 分析工具 { #analytics } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md index 152c10d0..4e1dad77 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 应用 { #apps } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md index 304ddeb0..2c77c1be 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/audit.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 审核 { #audit } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md index 8a946631..44f12b80 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 数据审批 { #data-approval } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md index 4e9166bb..c300274f 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data.md" revision_date: '2022-04-04' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 数据 { #data } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md index a34b502e..9ec3b7cc 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-store.md" revision_date: '2022-03-24' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 数据存储 { #data-store } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md index 80248b6b..1496e821 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/data-validation.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 数据验证 { #data-validation } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md index bcc1a924..76270f2e 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 电子邮件 { #email } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md index ebcde38d..9cc399c8 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/i18n.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # I18n { #i18n } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md index ba4351ee..85587c8b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/overview.md" revision_date: '2022-02-28' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 总览 { #webapi } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md index 1884a9b6..a04c75a9 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/maintenance.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 保养 { #maintenance } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md index c3a2633b..24f2f40f 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 讯息传递 { #messaging } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md index 1108605e..840c7a4c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata-gist.md" revision_date: '2021-11-23' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md index a32b1ca3..84cbbd5d 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/metadata.md" revision_date: '2023-08-03' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 元数据 { #metadata } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md index ea105a66..1b239e7d 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__new-tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/new-tracker.md" revision_date: '2024-05-21' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # New Tracker { #new-tracker } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md index 89090ceb..c502e570 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # Organisation unit profile { #org_unit_profile } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md index 38987e32..0d633fe8 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/scheduling.md" revision_date: '2022-05-05' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 排程 { #webapi_scheduling } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md index 42bd8a5d..6bcbd7b2 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/settings-and-configuration.md" revision_date: '2023-12-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 设置和配置 { #settings-and-configuration } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md index 5de85a0d..0f510d3c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 分享中 { #sharing } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md index dc821047..914b673c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 短信 { #sms } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md index 0dd44311..1682f295 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/synchronization.md" revision_date: '2022-05-05' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 同步化 { #webapi_synchronization } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md index 81b95cef..30897c24 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/tracker.md" revision_date: '2024-01-05' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 追踪器 { #tracker } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md index 9c3f9a76..a16506a8 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/users.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 用户数 { #users } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md index d08eee7c..f12e9ab9 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-238__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/developer/web-api/visualizations.md" revision_date: '2022-03-24' tags: -- DHIS core version 2.38 - Develop +- DHIS core version 2.38 --- # 可视化 { #visualizations } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md index 7dac1a73..729e935b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-240__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.40/src/developer/web-api/metadata.md" revision_date: '2024-04-26' tags: -- DHIS 核心 2.40 版 - Develop +- DHIS 核心 2.40 版 --- # 元数据 { #metadata } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md index 807d631b..d8f7f646 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__analytics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/analytics.md" revision_date: '2024-05-02' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 分析工具 { #analytics } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md index a65ccbc3..4f26f52b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__apps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/apps.md" revision_date: '2021-06-14' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 应用 { #apps } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md index e355be2a..0e0c4b88 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/audit.md" revision_date: '2023-06-23' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 审核 { #audit } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md index cee8e7f3..9e7d8fe7 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 数据审批 { #data-approval } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md index fa7b458a..e932dd3e 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md index f039f8b9..59874270 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-exchange.md" revision_date: '2024-06-26' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Data exchange { #data-exchange } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md index e3d46b79..d301e015 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 数据存储 { #data-store } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md index b0bed0bd..1b8057d6 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__email-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/email.md" revision_date: '2021-06-14' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 电子邮件 { #email } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md index f80da134..edc30b59 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md index e9092102..f8da9639 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Develop - DHIS core version 2.41 +- Develop --- # I18n { #i18n } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md index 3e06d65a..5f400ce0 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 总览 { #webapi } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md index 10c7353b..33427694 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 保养 { #maintenance } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md index af04df65..56a1fb82 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/messaging.md" revision_date: '2021-06-14' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 讯息传递 { #messaging } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md index 438ec5be..0378eecc 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Metadata Gist API { #gist_api } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md index 34b5e9b4..c31f7a58 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/metadata.md" revision_date: '2024-05-21' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 元数据 { #metadata } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md index 73823f24..20308eb0 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/organisation-unit-profile.md" revision_date: '2021-11-19' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Organisation unit profile { #org_unit_profile } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md index 7f068a18..d0aa3ae8 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md index 0c195bbf..f5de6e11 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/route.md" revision_date: '2024-09-24' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Route { #route } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md index 68671c04..84297c15 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 排程 { #webapi_scheduling } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md index f27208cf..57c2259e 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 设置和配置 { #settings-and-configuration } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md index ecfbb73d..78877a0b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 分享中 { #sharing } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md index 52b5ca88..892c33d0 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/sms.md" revision_date: '2021-06-14' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 短信 { #sms } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md index 7843a87e..5eb85c4e 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 同步化 { #webapi_synchronization } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md index 549ac66a..5cae72a0 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-deprecated-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker-old.md" revision_date: '2024-05-23' tags: -- Develop - DHIS core version 2.41 +- Develop --- # Tracker (deprecated APIs) { #tracker-deprecated-apis } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md index 1cc2daf0..41a7580a 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/tracker.md" revision_date: '2024-07-02' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 追踪器 { #tracker } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md index 067a5d89..14c5d3cd 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-241__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.41/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Develop - DHIS core version 2.41 +- Develop --- # 用户数 { #users } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md index 104eb8a6..974d42c8 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__analytics-md @@ -1,9 +1,9 @@ --- edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/analytics.md" -revision_date: '2024-10-29' +revision_date: '2024-11-04' tags: -- Develop - DHIS核心 主版 +- Develop --- # 分析工具 { #analytics } @@ -326,12 +326,15 @@ times: 上面称为“日期和期间格式”的期间格式和 可用的相对时期。 - - 对于组织单位维度,您可以指定要处理的项目 - 组织单位或组织单位的子单位 - 与当前针对请求进行身份验证的用户相关联 - 使用键 `USER_ORGUNIT` 或 `USER_ORGUNIT_CHILDREN` 作为项目, - 分别。您还可以指定组织单位标识符 - 直接,或两者结合。 + - For the organization unit dimension, you can specify items as either + the organization unit or its sub-units associated with the currently + authenticated user. Use the keys USER_ORGUNIT for the organization unit + itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify + organization unit identifiers directly or use a combination of both. + The authenticated user must have permission to export and analyze data + for the designated organization units. If no organization unit permissions + are explicitly granted, data capture and maintenance rights + will be applied instead. - 对于组织单位维度,您可以指定组织 层次结构级别和用于请求的边界单元 @@ -355,25 +358,25 @@ times: -表:数据 dx 维度类型 +Table: Data dx dimension types -| 类型 | 句法 | 描述 | 数据源 | +| 类型 | Syntax | 描述 | 数据源 | |---|---|---|---| -| 指示符 | | 指标标识符。 | 汇总数据 | -| 指标组 | IN_GROUP- | 关键字后跟指标组标识符。将在响应中包含该组中的所有指标。 | 汇总数据 | +| 指示符 | | Indicator identifier. | 汇总数据 | +| Indicator grop | IN_GROUP- | Keyword followed by an indicator group identifier. Will include all indicators in the group in the response. | 汇总数据 | | 数据元素 | | 数据元素标识符。 | 汇总数据 | -| 数据元素组 | DE_GROUP- | 关键字后跟数据元素组标识符。将在响应中包含组中的所有数据元素。 | 汇总数据 | -| 数据元素操作数 | | 数据元素标识符后跟类别选项组合和属性选项组合标识符之一或两者。通配符“\*”符号可用于指示任意选项组合值。属性选项组合标识符可以完全省略。 | 汇总数据 | -| 资料集 | | 数据集标识符,后跟报告率指标。可以是 REPORTING_RATE | REPORTING_RATE_ON_TIME | ACTUAL_REPORTS | ACTUAL_REPORTS_ON_TIME | EXPECTED_REPORTS。 | 数据集完整性注册 | -| 程序数据元素 | | 程序标识符后跟数据元素标识符。从指定程序内的事件中读取。 | 给定程序中的事件 | -| 计划指标 | | 程序指示器标识符。从与程序标识符关联的程序内的事件中读取。 | 来自程序指示器的程序的事件 | -| 验证结果 | | 验证规则标识符。将包括验证规则的验证规则违规,要求生成并保留验证结果。 | 验证结果 | +| 数据元素组 | DE_GROUP- | Keyword followed by a data element group identifier. Will include all data elements in the group in the response. | 汇总数据 | +| 数据元素操作数 | .. | Data element identifier followed by one or both of category option combination and attribute option combo identifier. Wildcard "\*" symbol can be used to indicate any option combination value. The attribute option combination identifier can be completely left out. | 汇总数据 | +| 资料集 | . | Data set identifier followed by reporting rate metric. Can be REPORTING_RATE | REPORTING_RATE_ON_TIME | ACTUAL_REPORTS | ACTUAL_REPORTS_ON_TIME | EXPECTED_REPORTS. | Data set completeness registrations | +| 程序数据元素 | . | Program identifier followed by data element identifier. Reads from events within the specified program. | Events from the given program | +| 计划指标 | | Program indicator identifier. Reads from events from within the program associated with the program identifier. | Events from the program of the program indicator | +| Validation result | | Validation rule identifier. Will include validation rule violations for the validation rule, requires that validation results are generated and persisted. | Validation results | Items from all of the various `dx` types can be combined in an analytics request. An example looks like this: /api/analytics.json - ?维度=dx:Uvn6LCg7dVU;BfMAe6Itzgt.REPORTING_RATE;IpHINAT79UW.a3kGcGDCuk6 + ?dimension=dx:Uvn6LCg7dVU;BfMAe6Itzgt.REPORTING_RATE;IpHINAT79UW.a3kGcGDCuk6 &dimension=pe:LAST_12_MONTHS&filter=ou:ImspTQPwCqd 组语法也可以与任何其他项目一起使用。一个 @@ -388,16 +391,16 @@ request. An example looks like this: 组合值: /api/analytics.json - ?维度=dx:Uvn6LCg7dVU.*.j8vBiBqGf6O;Uvn6LCg7dVU.Z4oQs46iTeR + ?dimension=dx:Uvn6LCg7dVU.*.j8vBiBqGf6O;Uvn6LCg7dVU.Z4oQs46iTeR &dimension=pe:LAST_12_MONTHS&filter=ou:ImspTQPwCqd -> **提示** +> **Tip** > -> 学习如何使用分析 API 的一个好方法是使用 DHIS2 -> 数据可视化器 Web 应用程序并创建数据透视表。你可以去玩玩 -> 使用各种维度和项目的数据透视表,然后单击 -> **下载** > **普通数据源** > **JSON** 查看分析结果 -> Web 浏览器地址栏中的 API 调用。 +> A great way to learn how to use the analytics API is to use the DHIS2 +> Data Visualizer web app and create a pivot table. You can play around +> with pivot tables using the various dimensions and items and click +> **Download** > **Plain data source** > **JSON** to see the resulting analytics +> API calls in the address bar of your web browser. ### 回应格式 { #webapi_analytics_response_formats } @@ -426,7 +429,7 @@ request. An example looks like this: 使用以下网址: /api/analytics.xml?dimension=dx:fbfJHSPpUQD - &维度=pe:2016&维度=ou:O6uvpzGd5pu;lc3eMKXaEfw + &dimension=pe:2016&dimension=ou:O6uvpzGd5pu;lc3eMKXaEfw JSON响应如下所示: @@ -669,23 +672,23 @@ duplicatesOnly 可用于调试目的仅返回 -表:查询参数 +Table: Query parameters -| 查询参数 | 必填/注释 | +| 查询参数 | Required / Notes | |---|---| -| 方面 | 是的 | -| 开始日期 | 否 / 年-月-日 | -| 结束日期 | 否 / 年-月-日 | -| 跳过元数据 | 不 | -| 跳过数据 | 不 | -| 层级元 | 不 | -| 显示层次结构 | 不 | -| 显示属性 | 不 | -| 输出IdScheme | 不 | -| 输出组织单位 ID 方案 | 不 | -| 输出数据元素Id方案 | 不 | -| 输入IdScheme | 不 | -| 用户组织单位 | 不 | +| 维度 | 是的 | +| 开始日期 | No / yyyy-MM-dd | +| 结束日期 | No / yyyy-MM-dd | +| skipMeta | 不 | +| skipData | 不 | +| hierarchyMeta | 不 | +| showHierarchy | 不 | +| displayProperty | 不 | +| outputIdScheme | 不 | +| outputOrgUnitIdScheme | 不 | +| outputDataElementIdScheme | 不 | +| inputIdScheme | 不 | +| userOrgUnit | 不 | *dimension* 查询参数定义了哪些维度(表列) 应包含在响应中。它可以选择性地受到约束 @@ -760,7 +763,7 @@ duplicatesOnly 可用于调试目的仅返回 在程序和可选的程序阶段,并让您检索和 在任何事件维度上过滤事件。 - /api/分析/事件 + /api/analytics/events ### 尺寸和项目 { #webapi_event_analytics_dimensions_items } @@ -775,16 +778,16 @@ duplicatesOnly 可用于调试目的仅返回 -表:活动维度 +Table: Event dimensions -| 尺寸 | 维度 ID | 描述 | +| 尺寸 | Dimension id | 描述 | |---|---|---| -| 资料元素 | | 数据元素标识符 | -| 属性 | | 属性标识符 | -| 句号 | 聚乙烯 | ISO 周期和相对周期,请参阅“日期和周期格式” | -| 组织单位 | 欧 | 组织部门标识符和关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- | -| 组织单位组集 | | 组织单位组集标识符 | -| 分类目录 | | 类别标识符(仅限节目属性类别) | +| 资料元素 | | Data element identifiers | +| 属性 | | Attribute identifiers | +| 句号 | 聚乙烯 | ISO periods and relative periods, see "date and period format" | +| 组织单位 | 欧 | Organisation unit identifiers and keywords USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- and OU_GROUP- | +| Organisation unit group sets | | Organisation unit group set identifiers | +| 分类目录 | | Category identifiers (program attribute categories only) | ### 请求查询参数 { #webapi_event_analytics_request_query_parameters } @@ -792,76 +795,76 @@ Analytics事件API可让您指定一系列查询参数。 -表:事件查询和聚合分析的查询参数 +Table: Query parameters for both event query and aggregate analytics | 查询参数 | 需要 | 描述 | 选项(默认为默认) | |---|---|---|---| -| 程序 | 是的 | 程序标识符。 | 任何程序标识符 | -| 阶段 | 不 | 程序阶段标识符。 | 任何程序阶段标识符 | -| 开始日期 | 是的 | 活动的开始日期。 | yyyy-MM-dd 格式的日期 | -| 结束日期 | 是的 | 活动的结束日期。 | yyyy-MM-dd 格式的日期 | -| 方面 | 是的 | 维度标识符包括数据元素、属性、程序指标、期间、组织单元和组织单元组集。参数可以重复任意次数。项目过滤器可以应用于维度的格式::。过滤器值不区分大小写。 | 运营商可以EQ| GT|通用电气LT|勒| NE&#124;喜欢|在 | -| 筛选 | 不 | 维度标识符包括数据元素、属性、期间、组织单位和组织单位组集。参数可以重复任意次数。项目过滤器可以应用于维度,格式为::。过滤器值不区分大小写。 || -| 层级元 | 不 | 在元数据中包括组织单位祖先的名称和组织单位的层次结构路径。 | 假的|真的 | -| 事件状态 | 不 | 指定要包含的事件的状态。 | 活跃|已完成|时间表|逾期|已跳过。可以用逗号分隔(*仅用于查询*)。 | -| 程序状态 | 不 | 指定要包含的事件的注册状态。 | 活跃|已完成|取消。可以用逗号分隔(*仅用于查询*)。 | -| 相对期间日期 | 细绳 | 不 | 日期标识符,例如:“2016-01-01”。覆盖相对期间的开始日期 | -| 列 | 不 | 用作表布局的列的维度。 | 任意维度(必须是查询维度) | -| 行 | 不 | 用作表布局的行的维度。 | 任意维度(必须是查询维度) | -| 时间字段 | 不 | 用于事件聚合/查询的时间字段。仅适用于事件数据项。可以是预定义选项或具有基于时间的值类型的属性或数据元素的 ID。对于“/analytics/events/”端点,默认“timeField”为 EVENT_DATE。 | EVENT_DATE | SCHEDULED_DATE | | | +| program | 是的 | Program identifier. | Any program identifier | +| stage | 不 | Program stage identifier. | Any program stage identifier | +| 开始日期 | 是的 | Start date for events. | Date in yyyy-MM-dd format | +| 结束日期 | 是的 | End date for events. | Date in yyyy-MM-dd format | +| 维度 | 是的 | 维度标识符包括数据元素、属性、程序指标、期间、组织单元和组织单元组集。参数可以重复任意次数。项目过滤器可以应用于维度的格式::。过滤器值不区分大小写。 | Operators can be EQ | GT | GE | LT | LE | NE | LIKE | IN | +| filter | 不 | 维度标识符包括数据元素、属性、期间、组织单位和组织单位组集。参数可以重复任意次数。项目过滤器可以应用于维度,格式为::。过滤器值不区分大小写。 || +| hierarchyMeta | 不 | Include names of organisation unit ancestors and hierarchy paths of organisation units in the metadata. | false | true | +| eventStatus | 不 | Specify status of events to include. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. Can be comma separated (*for query only*). | +| programStatus | 不 | Specify enrollment status of events to include. | ACTIVE | COMPLETED | CANCELLED. Can be comma separated (*for query only*). | +| relativePeriodDate | string | 不 | Date identifier e.g: "2016-01-01". Overrides the start date of the relative period | +| 列 | 不 | Dimensions to use as columns for table layout. | Any dimension (must be query dimension) | +| rows | 不 | Dimensions to use as rows for table layout. | Any dimension (must be query dimension) | +| timeField | 不 | Time field used in aggregations/queries on events. Applies to event data items only. Can be a predefined option or the ID of an attribute or data element with a time-based value type. For "/analytics/events/" endpoints, the default "timeField" is EVENT_DATE. | EVENT_DATE | SCHEDULED_DATE | | | -表:仅用于事件查询分析的查询参数 +Table: Query parameters for event query analytics only | 查询参数 | 需要 | 描述 | 选项 | |---|---|---|---| -| 模式 | 不 | 选择组织单位的模式。默认值为 DESCENDANTS,指层次结构中的所有子单位。CHILDREN 指层次结构中的直接子单位;SELECTED 仅指选定的组织单位。更多详情[此处](#webapi_tracker_orgunit_scope) | 后裔、子女、精选 | -| 升序 | 不 | 维度按升序排序,可以引用事件日期、组织单位名称和代码以及任何项目标识符。 | `ouname` | `程序状态` | `事件状态` | `由显示名称创建` | `lastupdatedbydisplayname` | `事件日期` | `注册日期` | `事件日期` | `最后更新` |项目标识符 | -| 描述 | 不 | 维度按降序排序,可以引用事件日期、组织单位名称和代码以及任何项目标识符。 | `ouname` | `程序状态` | `事件状态` | `由显示名称创建` | `lastupdatedbydisplayname` | `事件日期` | `注册日期` | `事件日期` | `最后更新` |项目标识符 | -| 仅坐标 | 不 | 是否只返回有坐标的事件。 | 假的|真的 | -| 坐标Ou后备 | 不 | 只要组织单位几何图形丢失,就会应用程序实例几何图形。 | 假的|真的 | -| 数据ID方案 | 不 | 用于数据的 ID 方案,更具体地说是具有选项集或图例集的数据元素和属性,例如在数据响应中返回选项名称而不是代码,或者返回图例名称而不是图例 ID。 | 姓名 |代码|用户识别码 | -| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | 一个或多个标头名称,以逗号分隔 | -| 页 | 不 | 页码。默认页数为 1。 | 数值正值 | -| 页面大小 | 不 | 页面大小。默认大小为每页 50 项。 | 数字零或正值 | -| 活动日期 | 不 | (`events` resource only) Custom period on `eventDate` (see "custom date periods" section) | 请参阅“日期和周期格式”部分 | -| 开学报道日 | 不 | `enrollmentDate` 的自定义期间(请参阅“自定义日期期间”部分) | 请参阅“日期和周期格式”部分 | -| 约定的日期 | 不 | (仅限于 `events` 资源) `scheduledDate` 上的自定义期限(请参阅 "自定义日期期限 "部分) | 请参阅“日期和周期格式”部分 | -| 事件日期 | 不 | `incidentDate` 的自定义期间(请参阅“自定义日期期间”部分) | 请参阅“日期和周期格式”部分 | -| 最近更新时间 | 不 | `lastUpdated` 的自定义周期(请参阅“自定义日期周期”部分) | 请参阅“日期和周期格式”部分 | +| ouMode | 不 | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED | +| asc | 不 | Dimensions to be sorted ascending, can reference event date, org unit name and code and any item identifiers. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| desc | 不 | Dimensions to be sorted descending, can reference event date, org unit name and code and any item identifiers. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| coordinatesOnly | 不 | Whether to only return events which have coordinates. | false | true | +| coordinateOuFallback | 不 | Program instance geometry is applied whenever organization unit geometry is missing. | false | true | +| dataIdScheme | 不 | Id scheme to be used for data, more specifically data elements and attributes which have an option set or legend set, e.g. return the name of the option instead of the code, or the name of the legend instead of the legend ID, in the data response. | NAME | CODE | UID | +| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | One or more headers name separated by comma | +| page | 不 | The page number. Default page is 1. | Numeric positive value | +| pageSize | 不 | The page size. Default size is 50 items per page. | Numeric zero or positive value | +| eventDate | no | (`events` resource only) Custom period on `eventDate` (see "custom date periods" section) | see "date and period format" section | +| enrollmentDate | no | Custom period on `enrollmentDate` (see "custom date periods" section) | see "date and period format" section | +| scheduledDate | no | (`events` resource only) Custom period on `scheduledDate` (see "custom date periods" section) | see "date and period format" section | +| incidentDate | no | Custom period on `incidentDate` (see "custom date periods" section) | see "date and period format" section | +| lastUpdated | no | Custom period on `lastUpdated` (see "custom date periods" section) | see "date and period format" section | -表:仅用于聚合事件分析的查询参数 +Table: Query parameters for aggregate event analytics only | 查询参数 | 需要 | 描述 | 选项 | |---|---|---|---| -| 价值 | 不 | 值维度标识符。可以是数据元素或属性,必须是数值类型。 | 数据元素或属性标识符 | -| 聚合类型 | 不 | 值维度的聚合类型。默认为平均。 | 总和&#124;平均水平AVERAGE_SUM_ORG_UNIT |最后| LAST_AVERAGE_ORG_UNIT |计数|标准差值方差|敏|最大限度 | -| 显示层次结构 | 不 | 显示完整的组织单位层次结构路径以及组织单位名称。 | 假的|真的 | -| 显示属性 | 不 | 要显示元数据的属性。 | 姓名 |简称 | -| 排序 | 不 | 按升序或降序对值列上的记录进行排序。 | ASC | DESC | -| 限制 | 不 | 要返回的最大记录数。不能大于 10 000。 | 数值正值 | -| 输出类型 | 不 | 指定分析数据的输出类型,可以是事件、注册或跟踪的实体实例。最后两个选项仅适用于注册程序。 | 活动&#124;注册| TRACKED_ENTITY_INSTANCE | -| 折叠数据维度 | 不 | 将响应中的所有数据维度(数据元素和属性)折叠为单个维度。 | 假的|真的 | -| 跳过元数据 | 不 | 排除响应的元数据部分(提高性能)。 | 假的|真的 | -| 跳过数据 | 不 | 排除响应的数据部分。 | 假的|真的 | -| 跳过舍入 | 不 | 跳过聚合数据值的舍入。 | 假的|真的 | -| 聚合数据 | 不 | 生成数据维度的聚合值(而不是维度项)。 | 假的|真的 | -| 组织单位字段 | 不 | 事件聚合所依据的组织单位字段。仅适用于事件数据项。可以是具有组织单位值类型的属性或数据元素的 ID。默认选项指定为省略查询参数。 | | |注册|注册| OWNER_AT_START | OWNER_AT_END | +| 价值 | 不 | Value dimension identifier. Can be a data element or an attribute which must be of numeric value type. | Data element or attribute identifier | +| aggregationType | 不 | Aggregation type for the value dimension. Default is AVERAGE. | SUM | AVERAGE | AVERAGE_SUM_ORG_UNIT | LAST | LAST_AVERAGE_ORG_UNIT | COUNT | STDDEV | VARIANCE | MIN | MAX | +| showHierarchy | 不 | Display full org unit hierarchy path together with org unit name. | false | true | +| displayProperty | 不 | Property to display for metadata. | NAME | SHORTNAME | +| sortOrder | 不 | Sort the records on the value column in ascending or descending order. | ASC | DESC | +| limit | 不 | The maximum number of records to return. Cannot be larger than 10 000. | Numeric positive value | +| outputType | 不 | Specify output type for analytical data which can be events, enrollments or tracked entity instances. The two last options apply to programs with registration only. | EVENT | ENROLLMENT | TRACKED_ENTITY_INSTANCE | +| collapseDataDimensions | 不 | Collapse all data dimensions (data elements and attributes) into a single dimension in the response. | false | true | +| skipMeta | 不 | Exclude the meta data part of the response (improves performance). | false | true | +| skipData | 不 | Exclude the data part of the response. | false | true | +| skipRounding | 不 | Skip rounding of aggregate data values. | false | true | +| aggregateData | 不 | Produce aggregate values for the data dimensions (as opposed to dimension items). | false | true | +| orgUnitField | 不 | The organisation unit field to base event aggregation on. Applies to event data items only. Can be the ID of an attribute or data element with the Organisation unit value type. The default option is specified as omitting the query parameter. | | | REGISTRATION | ENROLLMENT | OWNER_AT_START | OWNER_AT_END | -表:仅用于集群事件分析的查询参数 +Table: Query parameters for cluster event analytics only | 查询参数 | 需要 | 描述 | 选项 | |---|---|---|---| -| 簇的大小 | 是的 | 簇的大小(以米为单位)。 | 数值正值 | -| 坐标场 | 不 | 地理空间事件分析的基础字段。默认为事件。可以设置为值类型坐标的属性和数据元素的标识符。 | 活动&#124; | | -| 盒子 | 是的 | 要包含在响应中的事件边界框/区域,格式为“最小经度、最小纬度、最大经度、最大纬度”。 | 串 | -| 包含簇点 | 不 | 包括有关每个簇的基础点的信息,如果簇代表大量点,请小心。 | 假的|真的 | +| clusterSize | 是的 | Size of clusters in meters. | Numeric positive value | +| coordinateField | 不 | Field to base geospatial event analytics on. Default is event. Can be set to identifiers of attributes and data elements of value type coordinate. | EVENT | | | +| bbox | 是的 | Bounding box / area of events to include in the response on the format "min longitude, min latitude, max longitude , max latitude". | 串 | +| includeClusterPoints | 不 | Include information about underlying points for each cluster, be careful if cluster represent a very high number of points. | false | true | ### 事件查询分析 { #webapi_event_query_analytics } @@ -888,7 +891,7 @@ Analytics事件API可让您指定一系列查询参数。 询问: /api/analytics/events/query/eBAyeGv0exc?startDate=2016-01-01&endDate=2016-10-31 - &尺寸=ou:O6uvpzGd5pu;fdc6uOvgoji&尺寸=oZg33kd9taw&尺寸=qrur9Dvnyt5:EQ:18 + &dimension=ou:O6uvpzGd5pu;fdc6uOvgoji&dimension=oZg33kd9taw&dimension=qrur9Dvnyt5:EQ:18 检索“Child”的“Birth”程序阶段的事件 2016 年 3 月至 12 月期间的“计划”计划,其中“重量” @@ -939,26 +942,26 @@ number 不是,将使用页码 1。获取第三页 -表:过滤器运算符 +Table: Filter operators -| 操作员 | 描述 | +| Operator | 描述 | |---|---| -| 情商 | 等于 | -| !情商 | 不等于 | -| 室内环境质量 | 等于,忽略大小写 | -| !IEQ | 不等于,忽略大小写 | -| GT | 比...更棒 | -| 通用电气 | 大于或等于 | -| LT | 少于 | -| LE | 小于或等于 | -| 东北 | 不等于 | -| 喜欢 | 喜欢(自由文本匹配) | -| !喜欢 | 不喜欢(自由文本匹配) | -| 我喜欢 | 就像,忽略大小写(自由文本匹配) | -| !我喜欢 | 不喜欢,忽略大小写(自由文本匹配) | -| 在 | 等于由“;”分隔的多个值之一 | - -#### 时间字段过滤{ #time-field-filtering } +| EQ | Equal to | +| !EQ | Not equal to | +| IEQ | Equal to, ignoring case | +| !IEQ | Not equal to, ignoring case | +| GT | Greater than | +| GE | Greater than or equal to | +| LT | Less than | +| LE | Less than or equal to | +| NE | Not equal to | +| LIKE | Like (free text match) | +| !LIKE | Not like (free text match) | +| ILIKE | Like, ignoring case (free text match) | +| !ILIKE | Not like, ignoring case (free text match) | +| IN | Equal to one of multiple values separated by ";" | + +#### Time Field Filtering { #time-field-filtering } By default, the `query` endpoints filter periods based on `eventDate`. However, it is possible to filter entries based on `lastUpdated` or `schedule` instead, by using the `timeField` query parameter. @@ -967,27 +970,27 @@ For example: &timeField=LAST_UPDATED &timeField=SCHEDULED_DATE -#### 增强条件{ #enhanced-conditions } +#### Enhanced conditions { #enhanced-conditions } By default `enhancedConditions` flag is set to `false`. This means all conditions expressed in `dimension` and `filter` are meant as `AND` conditions. For example: - 尺寸=a:GT:20:LT:40&尺寸=b:GT:1:LT:5 + dimension=a:GT:20:LT:40&dimension=b:GT:1:LT:5 -转化为以下逻辑条件: +translates into the following logical condition: - a>20 和 a<40 and b>1 和 b<5 + a>20 and a<40 and b>1 and b<5 -不过,在某些情况下,可能需要对条件进行更多控制,这可以通过将查询参数 `enhancedConditions` 设置为 `true`来启用。 -这样,客户端就可以使用特殊的 `_OR_` 分隔符,使用 `OR` 逻辑操作符连接条件。 +However, there are cases in which more control on conditions might be needed and can be enabled by setting `enhancedConditions` query parameter to `true`. +By doing so, a client can use a special `_OR_` separator to join conditions using `OR` logical operator. 例: - 尺寸=a:GT:20:LT:40_OR_b:GT:1:LT:5&尺寸=c:EQ:测试 + dimension=a:GT:20:LT:40_OR_b:GT:1:LT:5&dimension=c:EQ:test -转化为以下逻辑条件: +translates into the following logical condition: - ((a>20 和 a<40) or (b>1 和 b<5)) 和 c =“测试” + ((a>20 and a<40) or (b>1 and b<5)) and c = "test" #### 回应格式 { #response-formats } @@ -1002,7 +1005,7 @@ For example: 例如,要获得Excel格式的响应,可以在请求URL中使用文件扩展名,如下所示: /api/analytics/events/query/eBAyeGv0exc.xls?startDate=2016-01-01&endDate=2016-10-31 - &尺寸=ou:O6uvpzGd5pu&尺寸=oZg33kd9taw&尺寸=qrur9Dvnyt5 + &dimension=ou:O6uvpzGd5pu&dimension=oZg33kd9taw&dimension=qrur9Dvnyt5 您可以将hierarchyMeta 查询参数设置为true,以便 在元部分中包括所有祖先组织单位的名称 @@ -1237,7 +1240,7 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 “女性”,您可以使用以下查询: /api/analytics/events/aggregate/eBAyeGv0exc?startDate=2016-01-01&endDate=2016-10-31 - &尺寸=ou:O6uvpzGd5pu&尺寸=oZg33kd9taw:EQ:女&尺寸=qrur9Dvnyt5:GT:50 + &dimension=ou:O6uvpzGd5pu&dimension=oZg33kd9taw:EQ:Female&dimension=qrur9Dvnyt5:GT:50 检索固定和相对时期的数据,而不是开始和结束 日期,在本例中为 2016 年 5 月和过去 12 个月,以及组织 @@ -1251,14 +1254,14 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 过滤其中的聚合数字,您可以使用以下语法: /api/analytics/events/aggregate/eBAyeGv0exc?dimension=pe:2016; - &dimension=ou:O6uvpzGd5pu&filter=oZg33kd9taw:EQ:女 + &dimension=ou:O6uvpzGd5pu&filter=oZg33kd9taw:EQ:Female 要将“Bo”组织单位和期间“2016”指定为过滤器, 和“放电方式”和“性别”作为维度,其中“性别”是 在“男性”项目上过滤,您可以使用这样的查询: /api/analytics/events/aggregate/eBAyeGv0exc?filter=pe:2016&filter=ou:O6uvpzGd5pu - &dimension=fWIAEtYVEGk&dimension=oZg33kd9taw:EQ:男 + &dimension=fWIAEtYVEGk&dimension=oZg33kd9taw:EQ:Male 要为_出院模式_创建“前 3 名报告”,您可以使用限制 和 sortOrder 查询参数类似: @@ -1273,14 +1276,14 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 事件。 /api/analytics/events/aggregate/eBAyeGv0exc.json?stage=Zj7UnCAulEk - &维度=ou:ImspTQPwCqd&维度=pe:LAST_12_MONTHS&维度=fWIAEtYVEGk + &dimension=ou:ImspTQPwCqd&dimension=pe:LAST_12_MONTHS&dimension=fWIAEtYVEGk &value=qrur9Dvnyt5&aggregationType=AVERAGE 基于特定数据元素或属性的事件分析聚合 对于值类型日期或日期时间,您可以使用 `timeField` 参数: /api/analytics/events/aggregate/IpHINAT79UW.json?dimension=ou:ImspTQPwCqd - &维度=pe:LAST_12_MONTHS&维度=cejWyOfXge6&阶段=A03MvHHogjR + &dimension=pe:LAST_12_MONTHS&dimension=cejWyOfXge6&stage=A03MvHHogjR &timeField=ENROLLMENT_DATE 基于特定数据元素或属性的事件分析聚合 @@ -1290,16 +1293,16 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 &dimension=pe:THIS_YEAR&dimension=oZg33kd9taw&stage=Zj7UnCAulEk &orgUnitField=S33cRBsnXPo -`orgUnitField` 参数值可以是以下之一: +The `orgUnitField` parameter value may be one of the following: -| 组织单位字段 | 描述 | +| orgUnitField | 描述 | | --- | --- | -| | 具有组织单位值类型的属性的 ID | -| | 具有组织单位值类型的数据元素的 ID | -| 登记 | 注册(创建)跟踪实体实例的组织单位 | -| 注册 | 跟踪的实体实例在计划中注册的组织部门 | -| OWNER_AT_START | 报告期开始时跟踪的实体实例的所属组织单位 | -| OWNER_AT_END | 报告期末被跟踪实体实例所属组织单位 | +| | ID of an attribute with the organisation unit value type | +| | ID of a data element with the organisation unit value type | +| REGISTRATION | The organization unit at which the tracked entity instance was registered (created) | +| 注册 | The organization unit at which the tracked entity instance was enrolled in the program | +| OWNER_AT_START | The tracked entity instance's owning organisation unit at the start of the reporting period | +| OWNER_AT_END | The tracked entity instance's owning organisation unit at the end of the reporting period | #### 范围/图例集 { #ranges-legend-sets } @@ -1316,7 +1319,7 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 一个示例如下所示: /api/analytics/events/aggregate/eBAyeGv0exc.json?stage=Zj7UnCAulEk - &维度=qrur9Dvnyt5-Yf6UHoPkdS6&维度=ou:ImspTQPwCqd&维度=pe:LAST_MONTH + &dimension=qrur9Dvnyt5-Yf6UHoPkdS6&dimension=ou:ImspTQPwCqd&dimension=pe:LAST_MONTH #### 回应格式 { #response-formats } @@ -1490,10 +1493,10 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 ### 事件计数和范围分析 { #webapi_event_count_extent_analytics } -*analytics/events/count* 资源适合与几何相关的 -检索事件的计数和范围(边界框)的请求 -对于特定查询。查询语法等于*events/query* -资源。请求如下所示: +The *analytics/events/count* resource is suitable for geometry-related +requests for retrieving the count and extent (bounding box) of events +for a specific query. The query syntax is equal to the *events/query* +resource. A request looks like this: /api/analytics/events/count/eBAyeGv0exc?startDate=2016-01-01 &endDate=2016-10-31&dimension=ou:O6uvpzGd5pu @@ -1556,8 +1559,8 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 | E7225 | 计划阶段对于注册分析查询中的数据元素维度是必需的 | | E7226 | 维度不是有效的查询项目 | | E7227 | 不支持关系实体类型 | -| E7228 | 后备坐标字段无效 | -| E7229 | 运算符不允许缺失值 | +| E7228 | Fallback coordinate field is invalid | +| E7229 | Operator does not allow missing value | ## 入学分析 { #webapi_enrollment_analytics } @@ -1569,38 +1572,38 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 -表:招生规模 +Table: Enrollment dimensions -| 尺寸 | 维度 ID | 描述 | +| 尺寸 | Dimension id | 描述 | |---|---|---| -| 程序阶段的数据元素 | | 查询注册数据时,数据元素标识符必须包括节目阶段。维度=edqlbukwRfQ.vANAXwtLwcT | -| 属性 | | 属性标识符 | -| 句号 | 聚乙烯 | ISO 周期和相对周期,请参阅“日期和周期格式” | -| 组织单位 | 欧 | 组织部门标识符和关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- | +| Data elements in program stages | . | Data element identifiers must include the program stage when querying data for enrollments. dimension=edqlbukwRfQ.vANAXwtLwcT | +| 属性 | | Attribute identifiers | +| 句号 | 聚乙烯 | ISO periods and relative periods, see "date and period format" | +| 组织单位 | 欧 | Organisation unit identifiers and keywords USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- and OU_GROUP- | -#### 可重复阶段{ #repeatable-stages } +#### Repeatable stages { #repeatable-stages } -数据元素标识符必须包括程序阶段。程序阶段可以重复。例如,维度 edqlbukwRfQ.vANAXwtLwcT 可以指代可重复的程序阶段。此阶段的数据元素可通过索引参数(用 [ ] 括起来)访问。 +Data element identifier must include program stage. The program stage can be repeatable. For example the dimension edqlbukwRfQ.vANAXwtLwcT can refer to repeatable program stage. The data element of this stage is accessible via index parameters (enclosed with [ ]). -表:可重复阶段的可能索引 +Table: Possible indexing of repeatable stages -| 尺寸 | 指标参数 | DataElement值指的是 | +| 尺寸 | Index parameters | DataElement value refers to | |--------------------------------------------|------------------------------|--------------------------------------------------------------------------------------------| -| edqlbukwRfQ.vANAXwtLwcT | 不适用 | 最后执行日期 | -| edqlbukwRfQ[0].vANAXwtLwcT | 0 | 最后执行日期 | -| dqlbukwRfQ[-2].vANAXwtLwcT | -2 | 上次执行日期倒数第二个 | -| dqlbukwRfQ[1].vANAXwtLwcT | 1 | 首次执行日期 | -| dqlbukwRfQ[3].vANAXwtLwcT | 3 | 第三次执行日期 | -| edqlbukwRfQ[*].vANAXwtLwcT | * | 所有重复 | -| edqlbukwRfQ[-1~3].vANAXwtLwcT | -1, 3 | 以 -1 开始的 3 次重复(上次执行日期后的第一次) | -| edqlbukwRfQ[0~5~LAST_3_MONTHS].vANAXwtLwcT | 0、5、LAST_3_MONTHS | 从最后一次执行日期开始到最近 3 个月内的第五次重复 5 次 | -| edqlbukwRfQ[-1~3~2021-01-01~2022-05-31].vANAXwtLwcT | -1, 3, 2021-01-01,2022-05-31 | 在指定日期内以 -1 开头(上次执行日期后的第一次)重复 3 次 | - -警告:不可重复程序阶段的索引会导致参数验证错误。 +| edqlbukwRfQ.vANAXwtLwcT | 不适用 | last execution date | +| edqlbukwRfQ[0].vANAXwtLwcT | 0 | last execution date | +| dqlbukwRfQ[-2].vANAXwtLwcT | -2 | second from last execution date | +| dqlbukwRfQ[1].vANAXwtLwcT | 1 | first execution date | +| dqlbukwRfQ[3].vANAXwtLwcT | 3 | third execution date | +| edqlbukwRfQ[*].vANAXwtLwcT | * | all repetitions | +| edqlbukwRfQ[-1~3].vANAXwtLwcT | -1, 3 | 3 repetitions starting with -1 (first after last execution date) | +| edqlbukwRfQ[0~5~LAST_3_MONTHS ].vANAXwtLwcT | 0, 5, LAST_3_MONTHS | 5 repetitions starting with last execution date down to the fifth one within last 3 months | +| edqlbukwRfQ[-1~3~2021-01-01~2022-05-31].vANAXwtLwcT | -1, 3, 2021-01-01,2022-05-31 | 3 repetitions starting with -1 (first after last execution date) within specified dates | + +Warning: Indexing of non-repeatable program stage leads to parameter validation error. ### 注册查询分析 { #webapi_enrollment_query_analytics } -通过 `analytics/enrollments/query` 资源,您可以查询捕获的注册信息。该资源不执行任何聚合,而是让您查询和筛选注册信息。 +The `analytics/enrollments/query` resource lets you query for captured enrollments. This resource does not perform any aggregation, rather it lets you query and filter for information about enrollments. /api/analytics/enrollments/query @@ -1612,27 +1615,27 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 例如,要从2019年1月起从“产前护理”计划中检索入学申请,该计划从属性中提取“名字”,则在第一个计划阶段包括“慢性病”和“吸烟”数据元素,并且来自以下程序阶段的“血红蛋白值”,并且仅包括具有“疯子病”的女性,您可以使用以下查询: /api/analytics/enrollments/query/WSGAb5XwJ3Y.json?dimension=ou:ImspTQPwCqd - &尺寸=w75KJ2mc4zz&尺寸=WZbXY0S00lP.de0FEHSIoxh:eq:1&尺寸=w75KJ2mc4zz - &尺寸=WZbXY0S00lP.sWoqcoByYmD&尺寸=edqlbukwRfQ.vANAXwtLwcT - &开始日期=2019-01-01&结束日期=2019-01-31 + &dimension=w75KJ2mc4zz&dimension=WZbXY0S00lP.de0FEHSIoxh:eq:1&dimension=w75KJ2mc4zz + &dimension=WZbXY0S00lP.sWoqcoByYmD&dimension=edqlbukwRfQ.vANAXwtLwcT + &startDate=2019-01-01&endDate=2019-01-31 要从上个月(相对于执行查询的时间点)的“产前护理”程序中检索入学登记,其中“慢性病”和“吸烟”数据元素包含在第一程序阶段,而“后续计划阶段的“血红蛋白价值”,仅包括吸烟的血红蛋白少于20岁的女性: /api/analytics/enrollments/query/WSGAb5XwJ3Y.json?dimension=ou:ImspTQPwCqd - &尺寸=WZbXY0S00lP.de0FEHSIoxh&尺寸=w75KJ2mc4zz - &尺寸=WZbXY0S00lP.sWoqcoByYmD:eq:1&尺寸=edqlbukwRfQ.vANAXwtLwcT:lt:20 + &dimension=WZbXY0S00lP.de0FEHSIoxh&dimension=w75KJ2mc4zz + &dimension=WZbXY0S00lP.sWoqcoByYmD:eq:1&dimension=edqlbukwRfQ.vANAXwtLwcT:lt:20 &dimension=pe:LAST_MONTH 可以将排序应用于注册的查询和注册的事件日期: /api/analytics/enrollments/query/WSGAb5XwJ3Y.xls?dimension=ou:ImspTQPwCqd - &列=w75KJ2mc4zz&维度=WZbXY0S00lP.sWoqcoByYmD&维度=pe:LAST_MONTH + &columns=w75KJ2mc4zz&dimension=WZbXY0S00lP.sWoqcoByYmD&dimension=pe:LAST_MONTH &stage=WZbXY0S00lP&pageSize=10&page=1&asc=ENROLLMENTDATE&ouMode=DESCENDANTS 通过指定页码和页面大小参数,可以将分页应用于查询。如果指定了页码,但未指定页码,则将使用50页码。如果指定了页面大小,但未指定页面号,则将使用页面号1。要获得页面大小为10的响应的第二页,可以使用如下查询: /api/analytics/enrollments/query/WSGAb5XwJ3Y.json?dimension=ou:ImspTQPwCqd - &尺寸=WZbXY0S00lP.de0FEHSIoxh&尺寸=w75KJ2mc4zz&尺寸=pe:LAST_MONTH + &dimension=WZbXY0S00lP.de0FEHSIoxh&dimension=w75KJ2mc4zz&dimension=pe:LAST_MONTH &dimension=WZbXY0S00lP.sWoqcoByYmD&pageSize=10&page=2 #### 筛选 { #filtering } @@ -1653,46 +1656,46 @@ DHIS2 中捕获的事件数量*。此资源可让您检索 &dimension = qrur9Dvnyt5:GT:5:LT:15 -#### 时间字段过滤{ #time-field-filtering } +#### Time Field Filtering { #time-field-filtering } By default, the `query` endpoints filter periods based on `enrollmentDate`. However, it is possible to filter entries based on `lastUpdated` instead, by using the `timeField` query parameter. &timeField=LAST_UPDATED -##### NV 关键字 { #nv-keyword } -可以使用特殊关键字 `NV` 来过滤 `null` 值 +##### NV keyword { #nv-keyword } +A special keyword `NV` can be used to filter by `null` values -按 AGE 筛选为空 +Filter by AGE is null &dimension=qrur9Dvnyt5:EQ:NV -按 AGE 过滤不为空 +Filter by AGE is not null &dimension=qrur9Dvnyt5:NE:NV -按 AGE 筛选为 18、19 或为空 +Filter by AGE is 18, 19 or is null &dimension=qrur9Dvnyt5:IN:18;19;NV -`NV` 可以与 `EQ`、`NE` 和 `IN` 运算符一起使用 +`NV` can be used with `EQ`, `NE` and `IN` operators -##### 运算符 { #operators } +##### Operators { #operators } 下面列出了可用的运算符。 -表:过滤器运算符 +Table: Filter operators -| 操作员 | 描述 | +| Operator | 描述 | |---|---| -| 情商 | 等于 | -| GT | 比...更棒 | -| 通用电气 | 大于或等于 | -| LT | 少于 | -| LE | 小于或等于 | -| 东北 | 不等于 | -| 喜欢 | 喜欢(自由文本匹配) | -| 在 | 等于由“;”分隔的多个值之一 | +| EQ | Equal to | +| GT | Greater than | +| GE | Greater than or equal to | +| LT | Less than | +| LE | Less than or equal to | +| NE | Not equal to | +| LIKE | Like (free text match) | +| IN | Equal to one of multiple values separated by ";" | ### 请求查询参数 { #webapi_enrollment_analytics_query_parameters } @@ -1700,25 +1703,25 @@ However, it is possible to filter entries based on `lastUpdated` instead, by usi -表:注册查询端点的查询参数 +Table: Query parameters for enrollment query endpoint | 查询参数 | 需要 | 描述 | 选项(默认为默认) | |---|---|---|---| -| 程序 | 是的 | 程序标识符。 | 任何程序标识符 | -| 开始日期 | 不 | 报名开始日期。 | yyyy-MM-dd 格式的日期 | -| 结束日期 | 不 | 报名结束日期。 | yyyy-MM-dd 格式的日期 | -| 方面 | 是的 | 维度标识符包括数据元素、属性、程序指标、期间、组织单元和组织单元组集。参数可以重复任意次数。项目过滤器可以应用于维度的格式::。过滤器值不区分大小写。 | 运营商可以EQ| GT|通用电气LT|勒| NE&#124;喜欢|在 | -| 筛选 | 不 | 维度标识符包括数据元素、属性、期间、组织单位和组织单位组集。参数可以重复任意次数。项目过滤器可以应用于维度,格式为::。过滤器值不区分大小写。 || -| 程序状态 | 不 | 指定要包括的注册的注册状态。 | 活跃|已完成|取消 | -| 相对期间日期 | 细绳 | 不 | 日期标识符,例如:“2016-01-01”。覆盖相对期间的开始日期 | -| 模式 | 不 | 选择组织单位的模式。默认值为 DESCENDANTS,指层次结构中的所有子单位。CHILDREN 指层次结构中的直接子单位;SELECTED 仅指选定的组织单位。更多详情[此处](#webapi_tracker_orgunit_scope) | 后裔、子女、精选 | -| 升序 | 不 | 维度按升序排序,可以参考注册日期、事件日期、组织单位名称和代码。 | `ouname` | `程序状态` | `由显示名称创建` | `lastupdatedbydisplayname` | `注册日期` | `事件日期` | `最后更新` |项目标识符 | -| 描述 | 不 | 维度按降序排序,可以参考注册日期、事件日期、组织单位名称和代码。 | `ouname` | `程序状态` | `由显示名称创建` | `lastupdatedbydisplayname` | `注册日期` | `事件日期` | `最后更新` |项目标识符 | -| 仅坐标 | 不 | 是否仅返回具有坐标的注册。 | 假的|真的 | -| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | 一个或多个标头名称,以逗号分隔 | -| 页 | 不 | 页码。默认页数为 1。 | 数值正值 | -| 页面大小 | 不 | 页面大小。默认大小为每页 50 项。 | 数字零或正值 | -| 时间字段 | 不 | 用于注册聚合/查询的时间字段。仅适用于注册数据项。可以是预定义选项或具有基于时间的值类型的属性或数据元素的 ID。对于“/analytics/enrollments/”端点,默认“timeField”为 ENROLLMENT_DATE。 | ENROLLMENT_DATE | LAST_UPDATED | | | +| program | 是的 | Program identifier. | Any program identifier | +| 开始日期 | 不 | Start date for enrollments. | Date in yyyy-MM-dd format | +| 结束日期 | 不 | End date for enrollments. | Date in yyyy-MM-dd format | +| 维度 | 是的 | 维度标识符包括数据元素、属性、程序指标、期间、组织单元和组织单元组集。参数可以重复任意次数。项目过滤器可以应用于维度的格式::。过滤器值不区分大小写。 | Operators can be EQ | GT | GE | LT | LE | NE | LIKE | IN | +| filter | 不 | 维度标识符包括数据元素、属性、期间、组织单位和组织单位组集。参数可以重复任意次数。项目过滤器可以应用于维度,格式为::。过滤器值不区分大小写。 || +| programStatus | 不 | Specify enrollment status of enrollments to include. | ACTIVE | COMPLETED | CANCELLED | +| relativePeriodDate | string | 不 | Date identifier e.g: "2016-01-01". Overrides the start date of the relative period | +| ouMode | 不 | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED | +| asc | 不 | Dimensions to be sorted ascending, can reference enrollment date, incident date, org unit name and code. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| desc | 不 | Dimensions to be sorted descending, can reference enrollment date, incident date, org unit name and code. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier | +| coordinatesOnly | 不 | Whether to only return enrollments which have coordinates. | false | true | +| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | One or more headers name separated by comma | +| page | 不 | The page number. Default page is 1. | Numeric positive value | +| pageSize | 不 | The page size. Default size is 50 items per page. | Numeric zero or positive value | +| timeField | 不 | Time field used in aggregations/queries on enrollments. Applies to enrollment data items only. Can be a predefined option or the ID of an attribute or data element with a time-based value type. For "/analytics/enrollments/" endpoints, the default "timeField" is ENROLLMENT_DATE. | ENROLLMENT_DATE | LAST_UPDATED | | | #### 回应格式 { #response-formats } @@ -1734,9 +1737,9 @@ However, it is possible to filter entries based on `lastUpdated` instead, by usi 例如,要获得Excel格式的响应,可以在请求URL中使用文件扩展名,如下所示: /api/analytics/enrollments/query/WSGAb5XwJ3Y.xls?dimension=ou:ImspTQPwCqd - &维度=WZbXY0S00lP.de0FEHSIoxh&列=w75KJ2mc4zz - &维度=WZbXY0S00lP.sWoqcoByYmD&维度=pe:LAST_MONTH&阶段=WZbXY0S00lP - &pageSize=10&page=1&asc=注册日期&ouMode=后代 + &dimension=WZbXY0S00lP.de0FEHSIoxh&columns=w75KJ2mc4zz + &dimension=WZbXY0S00lP.sWoqcoByYmD&dimension=pe:LAST_MONTH&stage=WZbXY0S00lP + &pageSize=10&page=1&asc=ENROLLMENTDATE&ouMode=DESCENDANTS 默认响应JSON格式将类似于以下内容: @@ -2011,244 +2014,244 @@ However, it is possible to filter entries based on `lastUpdated` instead, by usi ![](resources/images/enrollments/enrollments-pi-relationship.jpg) -要使计划指标/关系类型链接正常工作,`/api/analytics/enrollments/query` API 需要一个附加维度,其中必须包括所选关系类型 UID 和所选计划指标 UID: +For the Program Indicator/Relationship Type link to work, the `/api/analytics/enrollments/query` API requires an additional dimension which must include the chosen Relationship Type UID and the chosen Program Indicator UID: /api/analytics/enrollments/query/ - ?dimension= + ?dimension=. 例如,要从“ WHO RMNCH Tracker”程序中检索2019年1月的注册列表,并按“与人相关的疟疾病例”类型的关系显示与该注册相关的疟疾病例数,则可以使用以下查询 /api/analytics/enrollments/query/WSGAb5XwJ3Y.json?dimension=mxZDvSZYxlw.nFICjJluo74 - &开始日期=2019-01-01&结束日期=2019-01-31 + &startDate=2019-01-01&endDate=2019-01-31 API 支持使用与“主”程序(即在`/query/` 之后指定的程序 ID)无关的程序指示符。 -## 跟踪实体分析{ #webapi_te_analytics } +## Tracked entity analytics { #webapi_te_analytics } -跟踪实体(TE)分析 API 允许查询 *TE 及其在 DHIS2 中捕获的注册和事件数据*。 -该资源可针对给定的跟踪实体类型,从 TE、注册人数、事件和跨多个计划的数据元素中检索数据。 +The tracked entity (TE) analytics API allows querying *TEs with their enrollments and event data* captured in DHIS2. +This resource retrieves data from TE, enrollments, events, and data elements across multiple programs, for a given tracked entity type. -### 尺寸和项目{ #webapi_te_analytics_dimensions } +### Dimensions and items { #webapi_te_analytics_dimensions } -跟踪实体实例维度包括程序属性(TE 属性)、数据元素、 -组织单位和不同种类的期间。分析查询只会返回与一组标准相匹配的 TE。 -它不会执行任何聚合。 +Tracked entity instance dimensions include program attributes (TE attributes), data elements, +organization units, and different kinds of periods. The analytics query will simply return TEs matching a set of criteria. +It does not perform any aggregation. -表格TE 尺寸 +Table: TE dimensions -| 尺寸 | 尺寸 ID | 描述 | +| 尺寸 | Dimension id | 描述 | |------------------------------------|-------------------------------------------------------------|---| -| 程序属性(TE 属性) | `` | 程序属性的标识符。 -| 计划阶段的数据要素 | `.[offset].` | 数据元素标识符必须包括程序和程序阶段,即:`dimension=IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO`。 | -| 句号 | N.A. | 没有对 `period` 维度的直接支持。周期通过几个不同的特定参数来支持。请参阅下面的*周期*部分。 | -| TEI 组织单位 | `ou` | 组织单位标识符,以及关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- 。 | -| 招生组织单位 | `.ou` | 组织单位标识符,以及关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- 。 | -| 活动组织单位 | ` .ou` | 组织单位标识符,以及关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- 。 | - -#### 偏移{ #offset } - -在可重复事件中引用项目的标注可以包含一个可选的偏移量。 -偏移量用于指定使用事件的哪一次重复。 -重复的顺序以发生日期为基础,最近的事件为最近的重复。 -偏移量是一个整数值,0 表示最后一次重复,-1 表示倒数第二次重复,以此类推。 -正值指第一次(最旧)重复、第二次重复,以此类推。 -偏移量用方括号 [ ]括起来。 +| Program attributes (TE attributes) | `` | The identifier of the program attribute. +| Data elements in program stages | `.[offset].` | Data element identifiers must include the program and program stage. ie: `dimension=IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO` | +| 句号 | N.A. | There's no direct support for `period` dimension. Periods are supported through several different specific parameters. See the *Periods* section below. | +| TEI Organisation units | `ou` | 组织单位标识符,以及关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- 。 | +| Enrollment Organisation units | `.ou` | 组织单位标识符,以及关键字 USER_ORGUNIT、USER_ORGUNIT_CHILDREN、USER_ORGUNIT_GRANDCHILDREN、LEVEL- 和 OU_GROUP- 。 | +| Event Organisation units | `.ou` | Organisation unit identifiers, and also the keywords USER_ORGUNIT, USER_ORGUNIT_CHILDREN, USER_ORGUNIT_GRANDCHILDREN, LEVEL- and OU_GROUP-. | + +#### Offset { #offset } + +Dimensions referring to items in repeatable events can include an optional offset. +The offset is used to specify which repetition of the event to use. +The order of the repetitions is based on the occurred date, with the most recent event being the latest repetition. +The offset is an integer value, where 0 refers to the last repetition, -1 to the second last, and so on. +Positive values refer to the first (oldest) repetition, second repetition, and so on. +The offset is enclosed in square brackets [ ]. 例: - IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO -- 指最后一次重复 - IpHINAT79UW.ZzYYXq4fJie[-1].GQY2lXrypjO -- 指倒数第二次重复 - IpHINAT79UW.ZzYYXq4fJie[2].GQY2lXrypjO -- 指第二次重复 + IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO -- refers to the last repetition + IpHINAT79UW.ZzYYXq4fJie[-1].GQY2lXrypjO -- refers to the second last repetition + IpHINAT79UW.ZzYYXq4fJie[2].GQY2lXrypjO -- refers to the second repetition -### 跟踪实体 (TE) 查询分析{ #webapi_te_query_analytics } +### Tracked entity (TE) query analytics { #webapi_te_query_analytics } The *analytics/trackedEntities/query* endpoint provides queries for captured TEs, allowing querying and filtering for information related to TEs, along with their respective enrollments and events. It does not perform any aggregation. /api/41/analytics/trackedEntities/query -您可以在查询中指定任意数量的维度和任意数量的筛选器。维度项目标识符可以指计划阶段、计划属性、跟踪实体属性、固定和相对期间以及组织单位中的任何数据元素。维度可以选择查询操作符和过滤器。TEs 查询应采用以下格式。 +You can specify any number of dimensions and any number of filters in a query. Dimension item identifiers can refer to any of the data elements in program stages, program attributes, tracked entity attributes, fixed and relative periods, and organization units. Dimensions can optionally have a query operator and a filter. TEs queries should be in the format described below. /api/41/analytics/trackedEntities/query/?dimension=ou:;& - dimension=&dimension=: + dimension=&dimension=:: For example, to retrieve TEs of type `Person` from the "Child Program" and "Antenatal care" programs, where the "First name" is "James": /api/41/analytics/trackedEntities/query/nEenWmSyUEp?program=IpHINAT79UW,WSGAb5XwJ3Y&dimension=IpHINAT79UW.w75KJ2mc4zz:eq:James -可通过指定页码和页面大小参数对查询进行分页。如果指定了页码但未指定页面大小,将使用 50 的页面大小。如果指定了页面大小,但未指定页码,则将使用页码 1。要获取页面大小为 10 的第二页响应,可以使用如下查询: +Paging can be applied to the query by specifying the page number and the page size parameters. If the page number is specified but the page size is not, a page size of 50 will be used. If the page size is specified but the page number is not, a page number of 1 will be used. To get the second page of the response with a page size of 10 you can use a query like this: /api/41/analytics/trackedEntities/query/nEenWmSyUEp?program=IpHINAT79UW,WSGAb5XwJ3Y&dimension=IpHINAT79UW.w75KJ2mc4zz:eq:James &pageSize=10&page=2 #### 筛选 { #filtering } -过滤器可应用于数据元素、跟踪实体属性和跟踪实体标识符。过滤是通过以下格式的查询参数完成的: +Filters can be applied to data elements, tracked entity attributes, and tracked entity identifiers. The filtering is done through a query parameter in the following format: &dimension = -例如,您可以过滤计划 "儿童计划 "和计划阶段 "产后婴儿 "的 "母婴保健婴儿体重(克)" 数据元素,查找大于 2000 和小于 4000 的值。过滤器的定义如下 +For example, you can filter the "MCH Infant Weight (g)" data element, of the program "Child Program" and program stage "Baby Postnatal" looking for values greater than 2000 and lower than 4000. The filter is defined like this: &dimension=IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO:GT:2000&dimension=IpHINAT79UW.ZzYYXq4fJie.GQY2lXrypjO:LT:4000 -#### 时期{ #periods } +#### Periods { #periods } -与注册和事件查询端点不同,TE 端点支持多种方法来指定数据所属的时间段。如下所示,它们基于不同的 *date* 参数: +Unlike enrollment and event query endpoints, the TE endpoint supports multiple ways to specify the period the data belongs to. They are based on different *date* params as shown below: -| 参数 | 描述 | +| Parameter | 描述 | |----------------|----------------------------------------------------------------------------------| -| 事件日期 | 将根据事件发生日期过滤 TE。 | -| 注册日期 | TE 将根据注册日期进行筛选。 | -| 预定日期 | TE 将根据事件的计划日期进行筛选。 | -| 事件日期 | TE 将根据注册的事件日期进行筛选。 | -| 最后更新 | TE 将根据 TE/注册/事件的最后更新日期进行筛选。 | -| 创建 | TE 将根据 TE/注册/事件的创建日期进行筛选。 | +| eventDate | TEs will be filtered based on the date the event occurred. | +| enrollmentDate | TEs will be filtered based on the date of enrollment. | +| scheduledDate | TEs will be filtered based on the date the event was scheduled. | +| incidentDate | TEs will be filtered based on enrollment's incident date. | +| lastUpdated | TEs will be filtered based on the date the TE/enrollment/event was last updated. | +| created | TEs will be filtered based on the date the TE/enrollment/event was created. | -上面提到的某些时段可应用于跟踪实体、注册或事件,具体取决于它们的表达方式。 +Some periods, mentioned above, can be applied to Tracked Entities, Enrollments, or Events, depending on the way they are expressed. 例子: -* 过滤去年更新的 TE: +* filtering TEs that have been updated during the last year: `lastUpdated=LAST_YEAR` -* 筛选去年更新了 "儿童计划 "最新注册信息的 TE: +* filtering TEs whose latest enrollment in the program "Child Program" has been updated during the last year: `lastUpdated=IpHINAT79UW.LAST_YEAR` -* 筛选在 "产后婴儿 "计划阶段、在 "儿童计划 "计划的最新注册中最近一次活动在过去一年中已更新的 TE: +* filtering TEs whose latest event in the program stage "Baby Postnatal", in the latest enrollment in the program "Child Program" has been updated during the last year: `lastUpdated=IpHINAT79UW.ZzYYXq4fJie.LAST_YEAR` -* 筛选最近一年参加 "儿童计划 "的 TE: +* filtering TEs whose latest enrollment in the "Child Program" occurred in the last year: `enrollmentDate=IpHINAT79UW.LAST_YEAR` -### 请求查询参数{ #webapi_te_analytics_query_parameters } +### Request query parameters { #webapi_te_analytics_query_parameters } -分析 TE 查询 API 支持一系列查询参数。 +The analytics TE query API supports a range of query parameters. -表格TE 查询端点的查询参数 +Table: Query parameters for the TE query endpoint | 查询参数 | 需要 | 描述 | 选项(默认为默认) | |-------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| trackedEntityType | 是的 | 跟踪实体类型标识符。 | 任何被跟踪的实体类型标识符。 | -| 程序 | 不 | 程序标识符。 | 任何程序标识符。接受多个逗号分隔的标识符。 | -| 维度 | 不 | 维度标识符,包括数据元素、属性、计划指标、期间、组织单位和组织单位组集。该参数可指定多次。维度筛选器可应用于格式为:: 的维度。筛选值可以不区分大小写(取决于操作符)。 | 支持的运算符:eq | ieq | gt | ge | lt | le | ne | like | ilike | in | -| 过滤 | 不 | 维度标识符,包括数据元素、属性、期间、组织单位和组织单位组集。该参数可指定多次。维度筛选器可应用于格式为:: 的维度。筛选值可以不区分大小写(取决于操作符)。 | 支持的运算符:eq | ieq | gt | ge | lt | le | ne | like | ilike | in | -| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | 一个或多个标头名称(用逗号分隔)。 | -| 相对周期日期 | 不 | 覆盖起始日期,因此相对时段将使用此日期作为起始日期。 | 例如"2016-01-01" | -| ouMode | 不 | 组织单位的选择模式。默认值为 DESCENDANTS,即层次结构中的所有子单位。子女(CHILDREN)指层次结构中的直系子女;选定(SELECTED)仅指选定的组织单位。 | 后裔、子女、选定 | -| 升 | 不 | 尺寸以升序排序。可参考注册日期、事件日期、组织单位名称和代码。 | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | -| 描述 | 不 | 按降序排序的维度,可参考注册日期、事件日期、组织单位名称和代码。 | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | -| 页码 | 不 | 页码。默认值为 1。 | 正数值。 | -| 页面大小 | 不 | 页面大小。默认值为 50(即每页 50 个项目)。 | 数字零值或正值。 | -| 显示属性 | 不 | 显示元数据的属性。 | 姓名 | 简称 | -| includeMetadataDetails | 不 | 在原始数据回复中包含元数据详情。 | 假 | 真 | -| 输出标识主题 | 不 | 用于查询响应中元数据项的标识符方案。它可接受标识符、代码或属性。 | uid | uuid | 代码 | 名称 | 属性: | -| dataIdScheme | 不 | 用于数据的 id 方案,更具体地说是用于有选项集或图例集的数据元素和属性的 id 方案,例如,在数据响应中返回选项名称而不是代码,或返回图例名称而不是图例 ID。 | 名称 | 代码 | uid | -| 程序状态 | 不 | 指定要包含的事件的注册状态。*已删除,首选 `enrollmentStatus`* | 活动 | 已完成 | 已取消。可以逗号分隔(*仅用于查询*)。 | -| 注册状态 | 不 | 指定要包含的事件的注册状态。 | 活动 | 已完成 | 已取消。可以逗号分隔(*仅用于查询*)。 | -| 事件状态 | 不 | 指定要包含的事件状态。 | 活动 | 已完成 | 计划 | 逾期 | 跳过。可以逗号分隔(*仅用于查询*)。 | -| 仅坐标 | 不 | 是否只返回有坐标的事件。 | 假 | 真 | -| 仅几何 | 不 | 是否只返回有几何图形的事件。 | 假 | 真 | -| 用户机构单位 | 不 | 用户组织单位标识符。 | 任何组织单位标识符。 | -| skipMeta | 不 | 跳过响应中的元数据。 | 假 | 真 | -| 跳过数据 | 不 | 跳过响应中的数据。 | 假 | 真 | -| 跳读 | 不 | 跳过数据值的四舍五入。 | 假 | 真 | -| skipHeaders | 不 | 跳过响应中的标题。 | 假 | 真 | -| 总页数 | 不 | 包括答复的总页数。 | 假 | 真 | -| 显示属性 | 不 | 显示元数据的属性。 | 姓名 | 简称 | - -## 尺寸{ #webapi_dimensions } - -五种资源可轻松检索数据维度: - -- [事件查询数据维度](#webapi_event_query_analytics_dimension)`/analytics/events/query/dimensions`) +| trackedEntityType | 是的 | Tracked entity type identifier. | Any tracked entity type identifier. | +| program | 不 | Program identifiers. | Any program identifier. Accepts multiple comma-separated identifiers. | +| 维度 | 不 | Dimension identifier including data elements, attributes, program indicators, periods, organization units and organization unit group sets. This parameter can be specified multiple times. Dimension filters can be applied to a dimension in the format ::. Filter values can be case-insensitive (depending on the operator). | Operators supported: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | +| filter | 不 | Dimension identifier including data elements, attributes, periods, organization units and organization unit group sets. This parameter can be specified multiple times. Dimension filters can be applied to a dimension in the format ::. Filter values can be case-insensitive (depending on the operator). | Operators supported: EQ | IEQ | GT | GE | LT | LE | NE | LIKE | ILIKE | IN | +| 标头 | 不 | 作为响应的一部分返回的标头的名称。 | One or more header names (separated by a comma). | +| relativePeriodDate | 不 | Overrides the start date, so relative periods will use this date as the starting date. | Example: "2016-01-01" | +| ouMode | 不 | The mode for the selection of organization units. The default is DESCENDANTS, meaning all subunits in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organization units only. | DESCENDANTS, CHILDREN, SELECTED | +| asc | 不 | Dimensions to be sorted ascending. Can reference to enrollment date, incident date, org unit name, and code. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | +| desc | 不 | Dimensions to be sorted descending, can reference to enrollment date, incident date, org unit name and code. | `ouname` | `programstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `enrollmentdate` | `incidentdate` | `lastupdated` | `` | +| page | 不 | The page number. The default value is 1. | Numeric positive value. | +| pageSize | 不 | The page size. The default value is 50 (which means 50 items per page). | Numeric zero or positive value. | +| displayProperty | 不 | Property to display for metadata. | NAME | SHORTNAME | +| includeMetadataDetails | 不 | Include metadata details to raw data response. | false | true | +| outputIdScheme | 不 | Identifier scheme used for metadata items in the query response. It accepts identifiers, codes, or attributes. | UID | UUID | CODE | NAME | ATTRIBUTE: | +| dataIdScheme | 不 | Id scheme to be used for data, more specifically data elements and attributes that have an option set or legend set, e.g. return the name of the option instead of the code, or the name of the legend instead of the legend ID, in the data response. | NAME | CODE | UID | +| programStatus | 不 | Specify enrollment status of events to include. *DEPRECATED, prefer `enrollmentStatus`* | ACTIVE | COMPLETED | CANCELLED. Can be comma separated (*for query only*). | +| enrollmentStatus | 不 | Specify enrollment status of events to include. | ACTIVE | COMPLETED | CANCELLED. Can be comma separated (*for query only*). | +| eventStatus | 不 | Specify the status of events to include. | ACTIVE | COMPLETED | SCHEDULE | OVERDUE | SKIPPED. Can be comma separated (*for query only*). | +| coordinatesOnly | 不 | Whether to only return events that have coordinates. | false | true | +| geometryOnly | 不 | Whether to only return events that have geometries. | false | true | +| userOrgUnit | 不 | User organization unit identifier. | Any organization unit identifier. | +| skipMeta | 不 | Skip metadata in the response. | false | true | +| skipData | 不 | Skip data in the response. | false | true | +| skipRounding | 不 | Skip rounding of data values. | false | true | +| skipHeaders | 不 | Skip headers in the response. | false | true | +| totalPages | 不 | Include the total number of pages in the response. | false | true | +| displayProperty | 不 | Property to display for metadata. | NAME | SHORTNAME | + +## Dimensions { #webapi_dimensions } + +Five resources allow to easily retrieve data dimensions: + +- [Event Query data dimensions](#webapi_event_query_analytics_dimension)`/analytics/events/query/dimensions` - [Event Aggregate data dimensions](#webapi_event_aggregate_analytics_dimension) `/analytics/events/aggregate/dimensions` - [Enrollment Query data dimensions](#webapi_enrollment_query_analytics_dimension) `/analytics/enrollments/query/dimensions` -- [注册汇总数据维度](#webapi_enrollment_aggregate_analytics_dimension) `/analytics/enrollments/aggregate/dimensions`) -- [跟踪实体查询数据维度](#webapi_teis_query_analytics_dimensions)) `/analytics/teis/query/dimensions` +- [Enrollment Aggregate data dimensions](#webapi_enrollment_aggregate_analytics_dimension) `/analytics/enrollments/aggregate/dimensions` +- [Tracked Entities query data dimensions](#webapi_teis_query_analytics_dimensions)) `/analytics/teis/query/dimensions` -上述资源共用以下请求参数: +Resources mentioned above share the following request parameter: -| 查询参数 | 所需 | 描述 | 选项 | +| 查询参数 | required | 描述 | 选项 | |-----------------|--------------------------------------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| -| 过滤 | 没有 | Allows field value filtering on the format:
`filter=field:OP:value&filter=field:OP:value&...` | 请参阅 [维度筛选器部分](#webapi_analytics_dimension_filters)。 | -| 领域 | 没有 | 允许过滤字段 | -| 页码 | 没有 | 页码 | 默认为 1(第一页) | -| 页面大小 | 没有 | 页面大小 | 默认为每页 50 个元素 | -| 分页 | 没有 | Disables pagination when `false` | `true` or `false`, defaults to `true` | -| 订单 | 没有 | Allows sorting on the format: `order=field:direction` | Sortable fields: `created` (default), `lastUpdated`, `code`, `uid`, `id`, `name`, `displayName`, `dimensionType`

Direction can be `ASC` (default) or `DESC` | +| filter | no | Allows field value filtering on the format:
`filter=field:OP:value&filter=field:OP:value&...` | See [dimension filters section].(#webapi_analytics_dimension_filters) | +| fields | 没有 | Allows field filtering | +| page | no | Page number | Defaults to 1 (first page) | +| pageSize | no | Page size | Defaults to 50 elements per page | +| paging | no | Disables pagination when `false` | `true` or `false`, defaults to `true` | +| order | no | Allows sorting on the format: `order=field:direction` | Sortable fields: `created` (default), `lastUpdated`, `code`, `uid`, `id`, `name`, `displayName`, `dimensionType`

Direction can be `ASC` (default) or `DESC` | -#### 尺寸过滤器{ #webapi_analytics_dimension_filters } +#### Dimension filters { #webapi_analytics_dimension_filters } -维度端点支持过滤输出,以便将响应范围缩小到所需元素。 -过滤器的格式为`filter=field:op:value&filter=field:op:value&...&filter=field:op:value`。 +Dimensions endpoints support filtering the output to narrow down the response to desired elements. +Filters are in the format `filter=field:op:value&filter=field:op:value&...&filter=field:op:value`. Supported `field` values are: -- **id**/**uid** - 维度 ID -- **代码** - 尺寸代码 -- **valueType** - 尺寸值类型 -- **名称** -标度的名称 -- **维度类型** - 维度的类型 +- **id**/**uid** - dimension id +- **code** - dimension code +- **valueType** - dimension value type +- **name** - the name of the dimension +- **dimensionType** - the type of the dimension - `DATA_ELEMENT` - `PROGRAM_INDICATOR` - `PROGRAM_ATTRIBUTE` - `CATEGORY` - `CATEGORY_OPTION_GROUP_SET` -- **显示名称** -标注的显示名称 -- **显示短名** - 标注的显示短名 +- **displayName** - displayName of the dimension +- **displayShortName** - displayShortName of the dimension Supported `op`values are: -- `startsWith` - 字段开始于 +- `startsWith` - field starts with - `!startsWith` - field does not start with -- `endsWith` - 字段结束于 -- `!endsWith` - 字段不以- 结尾。 -- `eq` - 等于 -- `ieq` - 忽略等号情况 -- `ne` - 不等于 -- `like` - 包含 +- `endsWith` - field ends with +- `!endsWith` - field does not end with- +- `eq` - equals +- `ieq` - equals ignoring case +- `ne` - not equals +- `like` - contains - `!like` - does not contain - `ilike` - contains ignoring case -- `!ilike` - 不包含忽略情况 +- `!ilike` - does not contain ignoring case -### 事件分析维度{ #event-analytics-dimensions } -#### 事件查询分析维度{ #webapi_event_query_analytics_dimension } +### Event analytics dimensions { #event-analytics-dimensions } +#### Event query analytics dimensions { #webapi_event_query_analytics_dimension } -资源接受 `/analytics/events/query/dimensions?programId={programId}&programStageId={programStageId}`: +The `/analytics/events/query/dimensions?programId={programId}&programStageId={programStageId}` resource accepts: - a tracker `program` -- 一个跟踪器 `programStage` +- a tracker `programStage` - both `program` and `programStage` -程序和程序阶段的组合是有限制的: +There are constraints on the combination of program and programStage: - If only `program` is specified, the resource returns data dimensions for each program stage in the provided program - If only `programStage` is specified, the resource returns data dimensions for the provided `programStage` - If both `program` and `programStage` are specified, the resource returns data dimensions for the provided `programStage` if it belongs to the provided `program`. Returns an error otherwise. -返回的数据维数为 +the returned data dimensions are: -- 与计划相关的**计划指标**(源自计划阶段 ID) +- **Program indicators** associated with the program (derived from programStageId) - **Data elements** of *supported types* in the program stage - **Tracked entity attributes** of *supported types* associated with the program (derived from programStageId) -- 与程序相关联的类别组合中的**类别**(源自程序阶段 ID) +- **Categories** in category combo associated with the program (derived from programStageId) - **Category option group sets** of type `ATTRIBUTE` -除了 `IMAGE`、`FILE_RESOURCE` 和 `TRACKER_ASSOCIATE`,所有数据元素和跟踪实体属性的值类型都被视为*支持的类型*。 +All value types for data elements and tracked entity attributes are considered *supported types*, except `IMAGE`, `FILE_RESOURCE` and `TRACKER_ASSOCIATE`. -#### 事件汇总维度{ #webapi_event_aggregate_analytics_dimension } +#### Event aggregate dimensions { #webapi_event_aggregate_analytics_dimension } The `/analytics/events/aggregate/dimensions?programStageId=...` resource accepts a mandatory `programStageId` parameter and returns the following data dimensions: - **Data elements** of *supported types* in the program stage - **Tracked entity attributes** of *supported types* associated with the program (derived from programStageId) -- 与程序相关联的类别组合中的**类别**(源自程序阶段 ID) -- 与节目相关联的 `ATTRIBUTE` 类型的**类别选项组集**(源自 programStageId) +- **Categories** in category combo associated with the program (derived from programStageId) +- **Category option group sets** of type `ATTRIBUTE` associated with program (derived from programStageId) -如果数据元素和跟踪实体属性的值类型是以下类型之一,则视为*支持类型*: +Data elements and tracked entity attributes are considered *supported types* if their value type is one of the following: - `NUMBER` - `UNIT_INTERVAL` @@ -2260,26 +2263,26 @@ The `/analytics/events/aggregate/dimensions?programStageId=...` resource accepts - `BOOLEAN` - `TRUE_ONLY` -### 入学分析维度{ #enrollment-analytics-dimensions } +### Enrollment analytics dimensions { #enrollment-analytics-dimensions } -#### 入学查询分析维度{ #webapi_enrollment_query_analytics_dimension } +#### Enrollment query analytics dimensions { #webapi_enrollment_query_analytics_dimension } The `/analytics/enrollments/query/dimensions?programId=...` resource accepts a mandatory id of a tracker program and returns the following data dimensions: -- 与程序连接的**程序指示器** +- **Program indicators** connected to the program - **Data elements** of *supported types* in the program, with program stage for each data element - **Tracked entity attributes** of *supported types* associated with the program that are not confidential -除了 `IMAGE`、`FILE_RESOURCE` 和 `TRACKER_ASSOCIATE`,所有数据元素和跟踪实体属性的值类型都被视为*支持的类型*。 +All value types for data elements and tracked entity attributes are considered *supported types*, except `IMAGE`, `FILE_RESOURCE` and `TRACKER_ASSOCIATE`. -#### 入学总人数{ #webapi_enrollment_aggregate_analytics_dimension } +#### Enrollment aggregate dimensions { #webapi_enrollment_aggregate_analytics_dimension } The `/analytics/enrollments/aggregate/dimensions?programId=...` resource accepts a mandatory id of a tracker program, referring to a program with registration, and returns the following data dimensions: - **Data elements** of *supported types* in the program, with program stage for each data element - **Tracked entity attributes** of *supported types* associated with the program that are not confidential -如果数据元素和跟踪实体属性的值类型是以下类型之一,则视为*支持类型*: +Data elements and tracked entity attributes are considered *supported types* if their value type is one of the following: - `NUMBER` - `UNIT_INTERVAL` @@ -2291,9 +2294,9 @@ The `/analytics/enrollments/aggregate/dimensions?programId=...` resource accepts - `BOOLEAN` - `TRUE_ONLY` -### 跟踪实体分析维度{ #tracked-entities-analytics-dimensions } +### Tracked Entities analytics dimensions { #tracked-entities-analytics-dimensions } -#### 跟踪实体查询分析维度{ #webapi_teis_query_analytics_dimensions } +#### Tracked Entities query analytics dimensions { #webapi_teis_query_analytics_dimensions } The `/analytics/teis/query/dimensions?trackedEntityType=TET` resource accepts a mandatory id of a tracked entity type `TET` and returns the following data dimensions: @@ -2303,9 +2306,9 @@ for each program `P` associated with a tracked entity instance of type `TET`: - **Tracked entity attributes** of *supported types* associated with the program that are not confidential - **Program attributes** of `P` -除了 `IMAGE`、`FILE_RESOURCE` 和 `TRACKER_ASSOCIATE`,所有数据元素和跟踪实体属性的值类型都被视为*支持的类型*。 +All value types for data elements and tracked entity attributes are considered *supported types*, except `IMAGE`, `FILE_RESOURCE` and `TRACKER_ASSOCIATE`. -### 请求和答复样本{ #sample-request-and-response } +### Sample request and response { #sample-request-and-response } GET /api/analytics/teis/query/dimensions?programStageId=A03MvHHogjR&order=code&filter=name:ilike:weight @@ -2385,13 +2388,13 @@ for each program `P` associated with a tracked entity instance of type `TET`: -表格:机关单位分析查询参数 +Table: Org unit analytics query parameters -| 物业 | 描述 | 需要 | +| Property | 描述 | 需要 | |---|---|---| -| 欧 | Org 单位标识符,可能用分号分隔。 | 是的 | -| 奥格斯 | 机关单位组集标识符,可能用分号分隔。 | 是的 | -| 列 | Org 单位组集标识符,可能用分号分隔。定义哪些组集在表格布局中显示为列。 | 不 | +| 欧 | Org unit identifiers, potentially separated by a semicolon. | 是的 | +| ougs | Org unit group set identifiers, potentially separated by a semicolon. | 是的 | +| 列 | Org unit group set identifiers, potentially separated by a semicolon. Defines which group sets are rendered as columns in a table layout. | 不 | 响应将包含用于父组织单位的列,用于请求的每个组织单位组集部分的列以及用于计数的列。统计信息包括组织单位的数量,该组织单位是请求中指定的组织单位的子层次结构的一部分。该响应包含一个元数据部分,该元数据部分指定由其标识符引用的响应的每个组织单位和组织单位组部分的名称。 @@ -2444,23 +2447,23 @@ for each program `P` associated with a tracked entity instance of type `TET`: -表:数据集报告查询参数 +Table: Data set report query parameters -| 参数 | 描述 | 类型 | 需要 | +| Parameter | 描述 | 类型 | 需要 | |---|---|---|---| -| ds | 创建报告的数据集。 | 数据集 UID | 是的 | -| 聚乙烯 | 创建报告的时期。可以是逗号分隔的列表。 | ISO 字符串 | 是的 | -| 欧 | 创建报告的组织单位。 | 组织单位 UID | 是的 | -| 过滤 | 用作报告筛选器的筛选器。可重复任意次数。遵循分析 API 语法。 | 一个或多个 UID | 不 | -| 仅选定单位 | 是只使用捕获的数据,还是使用汇总数据。 | Boolean | 不 | +| ds | Data set to create the report from. | Data set UID | 是的 | +| 聚乙烯 | Period(s) to create the report from. May be a comma-separated list. | ISO String | 是的 | +| 欧 | Organisation unit to create the report from. | Organisation unit UID | 是的 | +| filter | Filters to be used as filters for the report. Can be repeated any number of times. Follows the analytics API syntax. | One or more UIDs | 不 | +| selectedUnitOnly | Whether to use captured data only or aggregated data. | Boolean | 不 | The data set report resource accepts `GET` requests only. The response content type is `application/json` and returns data in a grid. This endpoint works for all types of data sets, including default, section and custom forms. -检索 2018 年 10 月月度数据集和组织单位报告的请求示例如下: +An example request to retrieve a report for a monthly data set and org unit for October 2018 looks like this: GET /api/dataSetReport?ds=BfMAe6Itzgt&pe=201810&ou=ImspTQPwCqd&selectedUnitOnly=false -检索 2018 年 10 月、11 月和 12 月的月度数据集和组织单位报告的请求示例如下: +An example request to retrieve a report for a monthly data set and org unit for October, November, and December 2018 looks like this: GET /api/dataSetReport?ds=BfMAe6Itzgt&pe=201810,201811,201812&ou=ImspTQPwCqd&selectedUnitOnly=false @@ -2514,16 +2517,16 @@ A dedicated endpoint is available for data sets with custom HTML forms. This end -表格推力分析特性 +Table: Push analysis properties -| 物业 | 描述 | 类型 | 需要 | +| Property | 描述 | 类型 | 需要 | |---|---|---|---| -| 仪表盘 | 报告所依据的仪表板 | 仪表板 UID | 是的 | -| 信息 | 出现在报告标题之后 | 串 | 不 | -| 收件人用户组 | 一组应接收报告的用户组 | 一个或多个用户组 UID | 没有收件人的预定任务将被跳过。 | -| 启用 | 表示是否应安排此推送分析。默认为假。 | Boolean | 是的。必须是真实的才能安排。 | -| 调度频率 | 应安排报告的频率。 | "每天"、"每周"、"每月" | 不安排无频率的推送分析 | -| 调度日频率 | 应安排工作的频率日。 | 整数。频率为 "每天 "时为任意值。频率为 "周 "时为 0-7。频率为 "月 "时为 1-31 | 没有频率集有效频率日的推送分析将不会被安排。 | +| dashboard | Dashboard on which reports are based | Dashboard UID | 是的 | +| message | Appears after title in reports | 串 | 不 | +| recipientUserGroups | A set of user groups who should receive the reports | One or more user Group UID | No. Scheduled jobs without any recipient will be skipped. | +| enabled | Indicated whether this push analysis should be scheduled or not. False by default. | Boolean | Yes. Must be true to be scheduled. | +| schedulingFrequency | The frequency of which reports should be scheduled. | "DAILY", "WEEKLY", "MONTHLY" | No. Push analysis without a frequency will not be scheduled | +| schedulingDayOfFrequency | The day in the frequency the job should be scheduled. | Integer. Any value when frequency is "DAILY". 0-7 when frequency is "WEEKLY". 1-31 when frequency is "MONTHLY" | No. Push analysis without a valid day of frequency for the frequency set will not be scheduled. | ## 数据使用情况分析 { #webapi_usage_analytics } @@ -2566,18 +2569,18 @@ dataStatisticsEventType 参数描述了项目的类型 下面显示了支持的事件类型。 -表:支持的事件类型 +Table: Supported event types | 键 | 描述 | |---|---| -| VISUALIZATION_VIEW | 可视化视图 | -| MAP_VIEW | 地图视图 (GIS) | -| EVENT_REPORT_VIEW | 事件报告视图 | -| EVENT_CHART_VIEW | 事件图表视图 | -| EVENT_VISUALIZATION_VIEW | 事件可视化视图 | -| DASHBOARD_VIEW | 仪表板视图 | -| PASSIVE_DASHBOARD_VIEW | 仪表盘视图(未明确选择仪表盘时) | -| data_set_report_view | 数据集报告视图 | +| VISUALIZATION_VIEW | Visualization view | +| MAP_VIEW | Map view (GIS) | +| EVENT_REPORT_VIEW | Event report view | +| EVENT_CHART_VIEW | Event chart view | +| EVENT_VISUALIZATION_VIEW | Event visualization view | +| DASHBOARD_VIEW | Dashboard view | +| PASSIVE_DASHBOARD_VIEW | Dashboard view (when not explicitly selecting the dashboard) | +| DATA_SET_REPORT_VIEW | Data set report view | ### 检索汇总的使用情况分析报告(GET) { #webapi_aggregated_usage_analytics } @@ -2586,13 +2589,13 @@ dataStatisticsEventType 参数描述了项目的类型 -表:综合使用分析(数据统计)的查询参数 +Table: Query parameters for aggregated usage analytics (data statistics) | 查询参数 | 需要 | 描述 | 选项 | |---|---|---|---| -| 开始日期 | 是的 | 期间开始日期 | 日期(yyyy-MM-dd 格式 | -| 结束日期 | 是的 | 期间结束日期 | 日期(yyyy-MM-dd 格式 | -| 间隙 | 是的 | 要汇总的区间类型 | 日、周、月、年 | +| 开始日期 | 是的 | Start date for period | Date in yyyy-MM-dd format | +| 结束日期 | 是的 | End date for period | Date in yyyy-MM-dd format | +| interval | 是的 | Type of interval to be aggregated | DAY, WEEK, MONTH, YEAR | startDate 和 endDate 参数指定期间 将在聚合中使用快照。您必须格式化日期 @@ -2611,14 +2614,14 @@ startDate 和 endDate 参数指定期间 DHIS2,并由用户。 -表格收藏夹查询参数 +Table: Query parameters for top favorites | 查询参数 | 需要 | 描述 | 选项 | |---|---|---|---| -| 事件类型 | 是的 | 数据统计事件类型 | 见上表 | -| 页面大小 | 不 | 返回列表的大小 | 例如 5、10、25。默认值为 25 | -| 排序顺序 | 不 | 下降或上升 | ASC 或 DESC。默认为 DESC。 | -| 用户名 | 不 | 如果指定,响应将只包含该用户的收藏。 | 例如 "admin | +| eventType | 是的 | The data statistics event type | See above table | +| pageSize | 不 | Size of the list returned | For example 5, 10, 25. Default is 25 | +| sortOrder | 不 | Descending or ascending | ASC or DESC. Default is DESC. | +| 用户名 | 不 | If specified, the response will only contain favorites by this user. | For example 'admin' | API 查询可以不用用户名,然后会找到顶部 系统的最爱。 @@ -2759,34 +2762,34 @@ DHIS2。地理空间特征与组织单位一起存储。 /api/geoFeatures.json?ou=ou:LEVEL-4;O6uvpzGd5pu -响应坐标值可从两个属性中读取,这两个属性由参数 `坐标字段` 决定。 +The response coordinates value can be read from two properties which is decided by the parameter `coordinateField`. - The `geometry` property of the OrganisationUnit: this is the default behaviour which is applied when parameter `coordinateField` is not provided. - - 值类型为 GeoJSON 的 OrgansationUnit 属性:API 将使用提供的 `coordinateField={attributeId}` 从该属性值中获取 GeoJSON 坐标。 + - The OrgansationUnit attribute of value type GeoJSON: the api will use the provided `coordinateField={attributeId}` to get the GeoJSON coordinates from this attribute value. -例如,要检索第 3 级所有组织单位的地理特征,方法同上,但要从组织单位属性 `tJqtSV4quLb` 获取坐标 +For example, to retrieve geo features for all organisation units at level 3 as above but get the coordinates from OrganisationUnit attribute `tJqtSV4quLb` /api/geoFeatures.json?ou=ou:LEVEL-3&coordinateField=tJqtSV4quLb 响应属性的语义描述如下 桌子。 -表:地理特征响应 +Table: Geo features response -| 物业 | 描述 | +| Property | 描述 | |---|---| -| 本我 | 组织单位/地理特征标识符 | -| na | 组织单位/地理特征名称 | -| hcd | 向下有坐标,表示是否存在一个或多个有坐标的子组织单位(在层次结构中位于下方)。 | -| hcu | 向上有坐标,表示上级组织单位是否有坐标(在层次结构中位于上层)。 | -| 勒 | 该组织单位/地理特征的级别。 | -| 页码 | 父级图,父级组织单位标识符图,直至层次结构中的根节点 | -| pi | 父标识符,该组织单位的父标识符 | -| pn | 父单位名称,该组织单位的父单位名称 | -| 类型 | 地理特征类型,1 = 点,2 = 多边形或多多边形 | -| 媾 | 该地理特征的坐标 | +| id | Organisation unit / geo feature identifier | +| na | Organisation unit / geo feature name | +| hcd | Has coordinates down, indicating whether one or more children organisation units exist with coordinates (below in the hierarchy) | +| hcu | Has coordinates up, indicating whether the parent organisation unit has coordinates (above in the hierarchy) | +| le | Level of this organisation unit / geo feature. | +| pg | Parent graph, the graph of parent organisation unit identifiers up to the root in the hierarchy | +| pi | Parent identifier, the identifier of the parent of this organisation unit | +| pn | Parent name, the name of the parent of this organisation unit | +| ty | Geo feature type, 1 = point and 2 = polygon or multi-polygon | +| co | Coordinates of this geo feature | -### GeoJSON{ #geojson } +### GeoJSON { #geojson } 要导出 GeoJSON,您只需添加 *.geosjon* 作为扩展名 端点 */api/organisationUnits*,或者您可以使用 *Accept* 标头 @@ -2822,15 +2825,15 @@ Analytics表挂钩具有以下字段: -表格分析表钩子字段 +Table: Analytics table hook fields | 领域 | 选项 | 描述 | |---|---|---| -| 名称 | 文本 | 钩子的名称。 | -| 相位 | resource_table_populated, analytics_table_populated | 调用 SQL 脚本的阶段。 | -| resourceTableType | 参见下表 "阶段、表格类型和临时表格 "中的 "表格类型 "栏 | 调用 SQL 脚本的资源表类型。仅适用于使用 RESOURCE_TABLE_POPULATED 阶段定义的钩子。 | -| 分析表类型 | 参见下表 "阶段、表格类型和临时表格 "中的 "表格类型 "栏 | 要调用 SQL 脚本的分析表类型。仅适用于使用 ANALYTICS_TABLE_POPULATED 阶段定义的钩子。 | -| sql | 文本 | 要调用的 SQL 脚本。 | +| 名称 | 文本 | Name of the hook. | +| phase | RESOURCE_TABLE_POPULATED, ANALYTICS_TABLE_POPULATED | The phase for when the SQL script should be invoked. | +| resourceTableType | 参见下表 "阶段、表格类型和临时表格 "中的 "表格类型 "栏 | The type of resource table for which to invoke the SQL script. Applies only for hooks defined with the RESOURCE_TABLE_POPULATED phase. | +| analyticsTableType | See column "Table type" in table "Phases, table types and temporary tables" below | The type of analytics table for which to invoke the SQL script. Applies only for hooks defined with the ANALYTICS_TABLE_POPULATED phase. | +| sql | 文本 | The SQL script to invoke. | The *ANALYTICS_TABLE_POPULATED* phase takes place after the analytics table has been populated, but before indexes have been created and the @@ -2858,27 +2861,27 @@ script should refer to the analytics temp table, e.g. *analytics_temp*, -表格阶段、表格类型和临时表格 +Table: Phases, table types and temporary tables -| 相 | 表格类型 | 临时表格 | +| 相 | Table type | Temporary table | |---|---|---| | RESOURCE_TABLE_POPULATED | ORG_UNIT_STRUCTURE | \_orgunitstructure\_temp | -|| data_set_org_unit_category |\_datasetorgunitcategory\_temp | +|| DATA_SET_ORG_UNIT_CATEGORY |\_datasetorgunitcategory\_temp | || CATEGORY_OPTION_COMBO_NAME | \_categoryoptioncomboname\_temp | -|| data_element_group_set_structure | \_dataelementgroupsetstructure\_temp | +|| DATA_ELEMENT_GROUP_SET_STRUCTURE | \_dataelementgroupsetstructure\_temp | || INDICATOR_GROUP_SET_STRUCTURE |\_indicatorgroupsetstructure\_temp | -|| org_unit_group_set_structure | \_organisationunitgroupsetstructure\_temp | +|| ORG_UNIT_GROUP_SET_STRUCTURE | \_organisationunitgroupsetstructure\_temp | || CATEGORY_STRUCTURE | \_categorystructure\_temp | || DATA_ELEMENT_STRUCTURE | \_dataelementstructure\_temp | || PERIOD_STRUCTURE | \_periodstructure\_temp | || DATE_PERIOD_STRUCTURE | \_dateperiodstructure\_temp | -|| data_element_category_option_combo | \_dataelementcategoryoptioncombo\_temp | +|| DATA_ELEMENT_CATEGORY_OPTION_COMBO | \_dataelementcategoryoptioncombo\_temp | || DATA_APPROVAL_MIN_LEVEL | \_dataapprovalminlevel\_temp | | ANALYTICS_TABLE_POPULATED | DATA_VALUE | analytics\_temp | -|| 完整性 | analytics\_completeness\_temp | +|| COMPLETENESS | analytics\_completeness\_temp | || COMPLETENESS_TARGET | analytics\_completenesstarget\_temp | -|| org_unit_target | analytics\_orgunittargetget\_temp | -|| 活动 | analytics\_event\_temp\_{program-uid} | +|| ORG_UNIT_TARGET | analytics\_orgunittarget\_temp | +|| EVENT | analytics\_event\_temp\_{program-uid} | || 注册 | analytics\_enrollment\_temp\_{program-uid} | || VALIDATION_RESULT | analytics\_validationresult\_temp | diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md index cbf4df7a..ec12d29c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__audit-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/audit.md" revision_date: '2024-06-24' tags: -- Develop - DHIS核心 主版 +- Develop --- # 审核 { #audit } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md index 30bb9508..8f48a48b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-approval.md" revision_date: '2022-02-21' tags: -- Develop - DHIS核心 主版 +- Develop --- # 数据审批 { #data-approval } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md index 54f27adc..a2fb6f7b 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-entry.md" revision_date: '2022-10-13' tags: -- Develop - DHIS核心 主版 +- Develop --- # Data entry { #data-entry } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md index dac79f07..ef98f465 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-exchange-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-exchange.md" revision_date: '2024-09-18' tags: -- Develop - DHIS核心 主版 +- Develop --- # Data exchange { #data-exchange } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md index 8b8b639d..82d6c803 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data.md" revision_date: '2024-05-23' tags: -- Develop - DHIS核心 主版 +- Develop --- # 数据 { #data } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md index a9a5f68f..ca80107c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-store-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-store.md" revision_date: '2024-02-20' tags: -- Develop - DHIS核心 主版 +- Develop --- # 数据存储 { #data-store } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md index b3671573..cef12879 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__data-validation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/data-validation.md" revision_date: '2024-03-13' tags: -- Develop - DHIS核心 主版 +- Develop --- # 数据验证 { #data-validation } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md index 0308dfb4..6e1ba9ae 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__event-hooks-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/event-hooks.md" revision_date: '2023-05-03' tags: -- Develop - DHIS核心 主版 +- Develop --- # Event Hooks { #event-hooks } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md index e8063ec2..f5867f63 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__i18n-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/i18n.md" revision_date: '2024-05-15' tags: -- Develop - DHIS核心 主版 +- Develop --- # 国际化 { #i18n } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md index 04863c84..517315c6 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/overview.md" revision_date: '2023-02-09' tags: -- Develop - DHIS核心 主版 +- Develop --- # 总览 { #webapi } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md index 9a65b742..b261548f 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/maintenance.md" revision_date: '2024-03-13' tags: -- Develop - DHIS核心 主版 +- Develop --- # 保养 { #maintenance } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md index d58f52b2..030aa6d6 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-gist-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata-gist.md" revision_date: '2024-05-21' tags: -- Develop - DHIS核心 主版 +- Develop --- # 元数据要点 API { #gist_api } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md index 1c6e00c0..55b4503f 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/metadata.md" revision_date: '2024-10-25' tags: -- Develop - DHIS核心 主版 +- Develop --- # 元数据{ #webapi_metadata } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md index b13dd06d..62d8bb44 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__org-unit-profile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/organization-unit-profile.md" revision_date: '2021-11-19' tags: -- Develop - DHIS核心 主版 +- Develop --- # 组织部门资料{ #org_unit_profile } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md index 3417e861..dec9fa24 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__query-alias-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/query-alias.md" revision_date: '2024-05-15' tags: -- Develop - DHIS核心 主版 +- Develop --- # Query Alias { #query-alias } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md index f6948bed..9c2e8a99 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__route-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/route.md" revision_date: '2024-05-15' tags: -- Develop - DHIS核心 主版 +- Develop --- # Route { #route } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md index 841bfef1..5c58b41c 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/scheduling.md" revision_date: '2024-05-21' tags: -- Develop - DHIS核心 主版 +- Develop --- # 排程 { #webapi_scheduling } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md index 27aae22d..715ea058 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__settings-and-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/settings-and-configuration.md" revision_date: '2024-05-21' tags: -- Develop - DHIS核心 主版 +- Develop --- # 设置和配置 { #settings-and-configuration } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md index ae6a5c10..7d5940be 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__sharing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/sharing.md" revision_date: '2022-02-04' tags: -- Develop - DHIS核心 主版 +- Develop --- # 分享中 { #sharing } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md index 27035e03..f436878a 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/synchronization.md" revision_date: '2024-02-09' tags: -- Develop - DHIS核心 主版 +- Develop --- # 同步化 { #webapi_synchronization } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md index c81ff780..2a8de0ee 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__tracker-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/tracker.md" revision_date: '2024-10-25' tags: -- Develop - DHIS核心 主版 +- Develop --- # 跟踪器{ #webapi_tracker } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md index ef72eec2..c21ebdbd 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__users-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/users.md" revision_date: '2024-10-22' tags: -- Develop - DHIS核心 主版 +- Develop --- # 用户数 { #users } diff --git a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md index 0f91d489..3b94b8a5 100644 --- a/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md +++ b/projects/docs-full-site/zh/DEVELOP__USING-THE-API__DHIS-CORE-VERSION-MASTER__visualizations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/developer/web-api/visualizations.md" revision_date: '2024-03-05' tags: -- Develop - DHIS核心 主版 +- Develop --- # 可视化 { #visualizations } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md index 7e263953..7629003d 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-235__ANDROID-APP-VERSION-230__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.3/ReleaseNote-2.3.0.md" revision_date: '2020-11-03' tags: +- Implement - DHIS core version 2.35 - Android app version 2.3.0 -- Implement --- # DHIS2 Android应用版本2.3发行说明 { #dhis2-android-app-version-23-release-note } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md index 7be43c10..d3f07487 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-236__ANDROID-APP-VERSION-240__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.4/ReleaseNote-2.4.0.md" revision_date: '2021-04-27' tags: +- Implement - Android app version 2.4.0 - DHIS core version 2.36 -- Implement --- # DHIS2 Android 应用程序版本 2.4 发行说明 { #dhis2-android-app-version-24-release-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md index e5f18ec9..9028448a 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-237__ANDROID-APP-VERSION-250__release-notes-md @@ -3,8 +3,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/ revision_date: '2021-11-24' tags: - DHIS core version 2.37 -- Android app version 2.5.0 - Implement +- Android app version 2.5.0 --- # DHIS2 Android 应用程序 2.5 版发布说明{ #dhis2-android-app-version-25-release-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md index 452f4ad1..25b75ed8 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-239__ANDROID-APP-VERSION-270__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.7/ReleaseNote-2.7.0.md" revision_date: '2023-05-11' tags: +- Implement - Android app version 2.7.0 - DHIS core version 2.39 -- Implement --- # DHIS2 Android 应用程序 2.7 版发布说明{ #dhis2-android-app-version-27-release-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md index dee5e27e..eacbd997 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-280__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/android-releases/2.8/ReleaseNote-2.8.0.md" revision_date: '2023-05-08' tags: -- Android app version 2.8.0 -- DHIS 核心 2.40 版 - Implement +- DHIS 核心 2.40 版 +- Android app version 2.8.0 --- # DHIS2 Android App version 2.8 Release Notes { #dhis2-android-app-version-28-release-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md index d8781625..da8744ae 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__ANDROID-APP-RELEASES__DHIS-CORE-VERSION-240__ANDROID-APP-VERSION-290__release-notes-md @@ -2,9 +2,9 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/2.9/android-releases/2.9/ReleaseNote-2.9.0.md" revision_date: '2023-11-20' tags: -- Android app version 2.9.0 -- DHIS 核心 2.40 版 - Implement +- DHIS 核心 2.40 版 +- Android app version 2.9.0 --- # DHIS2 Android App version 2.9 Release Notes { #dhis2-android-app-version-29-release-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md index c9edf5e8..8ab26fab 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/ReleaseNote-2.35.0.md" revision_date: '2020-10-22' tags: -- DHIS core version 2.35 - Implement +- DHIS core version 2.35 --- # DHIS 2.35版发行说明 { #dhis-version-235-release-note } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md index 196b49c9..93c8e28a 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-235__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.35/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.35 - Implement +- DHIS core version 2.35 --- # 2.35升级说明 { #235-upgrade-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md index 4040f41e..7caaa878 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/ReleaseNote-2.36.md" revision_date: '2021-10-27' tags: -- DHIS core version 2.36 - Implement +- DHIS core version 2.36 --- # DHIS 版本 2.36 发行说明 { #dhis-version-236-release-note } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md index a2775e15..8a5a8218 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-236__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.36/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.36 - Implement +- DHIS core version 2.36 --- # 2.36 升级说明{ #236-upgrade-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md index a4971d10..3f1f9bd9 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__release-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/ReleaseNote-2.39.md" revision_date: '2023-01-26' tags: -- DHIS core version 2.39 - Implement +- DHIS core version 2.39 --- # DHIS 2.39 版发布说明{ #dhis-version-239-release-note } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md index 94a82253..a9d00bf3 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-239__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.39/README.md" revision_date: '2023-08-30' tags: -- DHIS core version 2.39 - Implement +- DHIS core version 2.39 --- # 2.39 升级说明{ #239-upgrade-notes } diff --git a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md index 5ccd6d41..d7285217 100644 --- a/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md +++ b/projects/docs-full-site/zh/IMPLEMENT__SOFTWARE-RELEASE-INFORMATION__DHIS2-CORE-RELEASES__DHIS-CORE-VERSION-240__upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-releases/blob/master/releases/2.40/README.md" revision_date: '2023-08-30' tags: -- DHIS 核心 2.40 版 - Implement +- DHIS 核心 2.40 版 --- # 2.40 Upgrade Notes { #240-upgrade-notes } diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__audit-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__audit-md new file mode 100644 index 00000000..d60e3d58 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__audit-md @@ -0,0 +1,264 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/audit.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# 审核 { #audit } + +## 介绍 { #introduction } + +DHIS2 supports a new audit service based on _Apache ActiveMQ Artemis_. Artemis is used as an asynchronous messaging system by DHIS2. + +After an entity is saved to database, an audit message will be created and sent to the Artemis message consumer service. The message will then be processed in a different thread. + +Audit logs can be retrieved from the DHIS2 database. Currently there is no UI or API endpoint available for retrieving audit entries. + +Detailed explanation of the audit system architecture can be found [here](https://github.com/dhis2/wow-backend/blob/master/guides/auditing.md). + +## What we log { #what_we_log } + +This is the list of operations we log as part of the audit system: + +- Operations on user accounts (like but not limited to creation, profile edits) +- Operations on user roles, groups and authority groups +- Operations on metadata objects (like but not limited to categories, organization units, reports) +- Operations on tracked objects (like but not limited to instances, attributes, data values) +- Jobs configuration +- Breaking the glass operations + +## 单审核表 { #audit_table } + +All audit entries, except the ones related to tracked entities, will be saved into one single table named `audit` + +| 柱 | 类型 | 描述 | +| --- | --- | --- | +| 受审核者 | 整数 | Primary key. | +| 审核类型 | 文本 | 读取,创建,更新,删除,搜索 | +| 审计范围 | 文本 | 元数据,汇总,跟踪器 | +| 克拉斯 | 文本 | Audit Entity Java class name. | +| 属性 | jsonb | A JSON string with attributes of the audited object. Example: `{"valueType":"TEXT", "categoryCombo":"SWQW313FQY", "domainType":"TRACKER"}`. | +| 数据 | 比蒂亚 | Compressed JSON string of the audit entity in byte array format (not humanly readable). | +| 创建于 | 没有时区的时间戳 | Time of creation. | +| 由...制作 | 文本 | Username of the user performing the audited operation. | +| uid | 文本 | The UID of the audited object. | +| 码 | 文本 | The code of the audited object. | + +The audit service makes use of two new concepts: _Audit Scope_ and _Audit Type_. + +## 审核范围 { #audit_scope } + +An audit scope is a logical area of the application which can be audited. Currently there are three audit scopes. + +| Scope | 键 | Audited objects | +| --- | --- | --- | +| 追踪器 | TRACKER | Tracked Entity Instance, Tracked Entity Attribute Value, Enrollment, Event. | +| 元数据 | METADATA | All metadata objects (e.g. Data Element, Organisation Unit). | +| Aggregate | AGGREGATE | Aggregate Data Value. | + +## 审核类型 { #audit_type } + +An audit type is an action that triggers an audit operation. Currently we support the following four types. + +| 名称 | 键 | 描述 | +| -------- | -------- | ------------------- | +| Read | READ | Object was read. | +| Create | CREATE | Object was created. | +| Update | UPDATE | Object was updated. | +| 删除 | 删除 | Object was deleted. | +| Disabled | DISABLED | Disable audit. | + +> **Caution** +> +> The READ audit type may generate a lot of data in the database and may have an impact on the performance. + +## Tracked entity audits { #tracked-entity-audits } + +Operations on tracked entities like instances, attributes and values are stored, respectively in the `trackedentityinstanceaudit`, `trackedentityattributevalueaudit` and `trackedentitydatavalueaudit` tables. + +### trackedentityinstanceaudit { #trackedentityinstanceaudit } + +| 柱 | 类型 | 描述 | +| --- | --- | --- | +| trackedentityinstanceauditid | 整数 | Primary key. | +| trackedentityinstance | 文本 | Tracked entity instance name. | +| created | 没有时区的时间戳 | Time of creation. | +| accessedby | 文本 | Username of the user performing the audited operation. | +| 审核类型 | 文本 | 读取,创建,更新,删除,搜索 | +| comment | 文本 | The code of the audited object. | + +This data can be retrieved via [API](#webapi_tracked_entity_instance_audits). + +### trackedentityattributevalueaudit { #trackedentityattributevalueaudit } + +| 柱 | 类型 | 描述 | +| --- | --- | --- | +| trackedentityattributevalueauditid | 整数 | Primary key. | +| trackedentityinstanceid | 整数 | Instance ID of which the attribute value belongs to. | +| trackedentityattributeid | 整数 | Attribute ID. | +| created | 没有时区的时间戳 | Time of creation. | +| modifiedby | 文本 | Username of the user performing the audited operation. | +| 审核类型 | 文本 | 读取,创建,更新,删除,搜索 | +| 价值 | 文本 | The value of the audited object. | +| encryptedvalue | 文本 | The encrypted value if confidentiality flag is set. | + +This data can be retrieved via [API](#webapi_tracked_entity_attribute_value_audits). + +### trackedentitydatavalueaudit { #trackedentitydatavalueaudit } + +| 柱 | 类型 | 描述 | +| --- | --- | --- | +| trackedentitydatavalueauditid | 整数 | Primary key. | +| programstageinstanceid | 整数 | Program stage ID of which the data value belongs to. | +| dataelementid | 整数 | ID of the data element. | +| created | 没有时区的时间戳 | Time of creation. | +| modifiedby | 文本 | Username of the user performing the audited operation. | +| 审核类型 | 文本 | 读取,创建,更新,删除,搜索 | +| 价值 | 文本 | The value of the audited object. | +| providedelsewhere | bool | Indicates whether the user provided the value elsewhere or not. | + +This data can be retrieved via [API](#webapi_tracked_entity_data_value_audits). + +## 打破玻璃 { #breaking-the-glass } + +Breaking the glass features allows to access records a DHIS2 user doesn't have access in special circumstances. As a result of such, users must enter a reason to access such records. + +A video explaining how it works can be found in our Youtube channel [here](https://www.youtube.com/watch?v=rTwg5Ix_E_M). + +The breaking the glass event is stored in the `programtempownershipaudit` table, described below: + +| 柱 | 类型 | 描述 | +| --- | --- | --- | +| programtempownershipauditid | 整数 | Primary key. | +| programid | 整数 | Program ID of which the tracked entity belongs to. | +| trackedentityinstanceid | 整数 | Instance ID of which the attribute value belongs to. | +| created | 没有时区的时间戳 | Time of creation. | +| accessedby | 文本 | Username of the user performing the audited operation. | +| reason | 文本 | The reason as inserted in the dialog. | + +## 设定 { #audit_configuration } + +The audit system is enabled by default for the following scopes and types. + +Scopes (case sensitive): + +- `READ` +- `CREATE` +- `UPDATE` +- `DELETE` +- `SEARCH` +- `DISABLED` + +Types: + +- `METADATA` +- `TRACKER` +- `AGGREGATE` + +This means that **no action is required** to enable the default audit system. The default setting is equivalent to the following `dhis.conf` configuration. + +```properties +audit.metadata = CREATE;UPDATE;DELETE +audit.tracker = CREATE;UPDATE;DELETE +audit.aggregate = CREATE;UPDATE;DELETE +``` + +可以使用_审计矩阵_配置审计。审计矩阵表示范围和类型的有效组合,并在` dhis.conf` 配置文件中使用以下属性定义。每个属性都接受以分号 (`;`) 分隔的审计类型列表。 + +- `audit.metadata` +- `audit.tracker` +- `audit.aggregate` + +### Artemis { #artemis } + +[Apache ActiveMQ Artemis](https://activemq.apache.org/components/artemis/documentation/) is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It has been part of DHIS2 since version 2.31 and used as a system to consume audit logs. + +By default, DHIS2 will start an embedded Artemis server, which is used internally by the application to store and access audit events. + +However, if you have already an Artemis server, you can connect to it from DHIS2 to send audit events, as described in our [official documentation](#webapi_amqp_configuration): in this setup, audit events will flow from DHIS2 to the external Artemis system. + +### log4j2 { #log4j2 } + +[log4j2](https://logging.apache.org/log4j/2.x/index.html) is the default DHIS2 logging library used to handle output messages. It's used to control what events are recored in which file. + +The application ships a [log4j2 default configuration file](https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/classes/log4j2.xml), which instructs what information to log and where (console). DHIS2 then takes care of import that file and instruction logging as described in the [log4j configuration class](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java), that is, redirecting output from console to files. + +From 2.36 to 2.38, audit log file `dhis-audit.log` is rotated [every day at midnight](https://github.com/dhis2/dhis2-core/blob/2.38/dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/log/Log4JLogConfigInitializer.java#L171). + +An example of custom log4j2 configuration can be found [here](): it shows how to configure DHIS2 to save all logs into an external storage location, rotate them on a weekly basis and retain them for 30 days. Please read the [application logging section](#install_application_logging) on how to use it. + +## 例子 { #examples } + +This section demonstrates how to configure the audit system in `dhis.conf`. + +To enable audit of create and update of metadata and tracker only: + +```properties +audit.metadata = CREATE;UPDATE +audit.tracker = CREATE;UPDATE +audit.aggregate = DISABLED +``` + +To only audit tracker related objects create and delete: + +```properties +audit.metadata = DISABLED +audit.tracker = CREATE;DELETE +audit.aggregate = DISABLED +``` + +To completely disable audit for all scopes: + +```properties +audit.metadata = DISABLED +audit.tracker = DISABLED +audit.aggregate = DISABLED +``` + +We recommend keeping the audit trails into a file, as by default in version 2.38. For older versions, the following configuration saves the audit logs into the `$DHIS2_HOME/logs/dhis-audit.log` file: + +```properties +audit.database = off +audit.logger = on +``` + +To store audit data into the database, add the following to your `dhis.conf` file (default up until version 2.38): + +```properties +audit.database = on +audit.logger = off +``` + +To extract logs from the `audit` table, you can use [`dhis2-audit-data-extractor`](https://github.com/dhis2/dhis2-utils/tree/master/tools/dhis2-audit-data-extractor) from the system where DHIS2 is running: + +``` +$ python extract_audit.py extract +``` + +Please read the documentation for full details. + +To parse entries from log file, you can use the python script as follow: + +``` +$ grep "auditType" dhis-audit.log | python extract_audit.py parse +``` + +Or use `jq` as follow: + +``` +$ grep "auditType" dhis-audit.log | jq -r . +``` + +To select events within a specific date, you can use `jq` as follow (in this example, we're selecting all events happened between January 2022 and end of June 2022): + +``` +$ grep "auditType" dhis-audit.log | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + +Same with `extract_audit`: + +``` +$ python3 extract_audit.py extract -m stdout -f JSON | jq -r '.[] | select ( (.datetime >="2022-01-01") and (.datetime <= "2022-06-30") )' +``` + diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__debugging-as-another-user-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__debugging-as-another-user-md new file mode 100644 index 00000000..8c1437db --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__debugging-as-another-user-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/user-impersonation.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Using the User Impersonation Feature in DHIS2 { #user_impersonation } + +## 总览 { #overview } + +User impersonation, also known as user switching, is a powerful feature provided in DHIS2 for administrative users to +log in as another user. This feature is especially useful for troubleshooting or resolving user-related issues, as it +allows an administrator to experience DHIS2 exactly as the user does. + +此功能基于 Spring Security 的`SwitchUserFilter`构建,但具有附加配置选项。 + +> **注意** +> +> 该功能默认**禁用**。要启用它,您必须设置 `switch_user_feature.enabled` 属性 +> 为`true` +> 你的 `dhis.conf` 文件。 +> +> 此功能被视为**实验性**,仅适用于从配置的 IP 地址调用。因此,为了 +> 使用它 +> 您必须知道要调用它的 IP 地址并配置 `switch_user_allow_listed_ips` +> 财产 +> 在 `dhis.conf` 文件中。此限制将来可能会被取消。 + +## How It Works { #how-it-works } + +The user impersonation feature operates in the following manner: + +1. 管理用户使用`username`向特定 URL(例如`/impersonate?username=USERNAME`)发出请求 + 参数 + indicating the username of the user they wish to impersonate. + +2. 用户冒充功能拦截此请求,将`SecurityContext`切换到新用户,并重定向。 + to the home page. + +3. While impersonating another user, the administrative user can make requests as if they were the impersonated user. + +4. To switch back to the original user, the administrative user makes a request to another URL ( + 例如,`/impersonateExit`。用户冒充功能拦截此请求,切换`SecurityContext`。 + back to the original user, and redirects to the home page. + +## How To Use { #how-to-use } + +Follow these steps to use the user impersonation feature: + +1. 作为具有`ALL`或`F_IMPERSONATE_USER`权限的管理员用户登录。 +2. 导航到用户冒充的URL(例如,`/impersonate?username=USERNAME`)。 +3. 提供您希望冒充的用户的`用户名`参数。 +4. The system will switch your session to that of the impersonated user, and you will be redirected to the home page. +5. Perform any actions necessary for troubleshooting or user support. +6. 当你完成后,请导航到URL以结束冒充(例如,`/impersonateExit`)。你的会话将被结束。 + switched back to your original administrative user. + +## 组态 { #configuration } + +The user impersonation feature configuration options. + +* `switch_user_feature.enabled` (Enable or disable the feature, default: `disabled`) +* `switch_user_allow_listed_ips` (Default allowed IP(s) are; `localhost,127.0.0.1,[0:0:0:0:0:0:0:1]`) + +## Security restrictions { #security-restrictions } +* Feature must be enabled in the `dhis.conf` configuration file, default value is; `disabled`. +* Users trying to impersonate need to send requests from an allowed IP. +* Users without the `ALL` authority can not impersonate another user that has the `ALL` authority. +* Users can not impersonate themselves. +## Security Implications { #security-implications } + +This feature should be used with caution due to its inherent security implications. Only trusted administrators should +be granted the capability to impersonate users. It's also recommended to pay attention to the log events related to the +user impersonation. + +User impersonation events are logged in the following +format: `Authentication event: AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;` + diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__deployment-architectures-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__deployment-architectures-md new file mode 100644 index 00000000..74998a69 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__deployment-architectures-md @@ -0,0 +1,78 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/architecture.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Deployment Architectures { #deployment-architectures } + +## 介绍 { #introduction } + +DHIS2 application can be deployed using different architectures, including single-server, distributed, hybrid, Docker, and Docker with Kubernetes. The choice of architecture depends on various factors such as simplicity, management complexity, scalability, maintainability, and performance. + +## The Architectures { #the-architectures } + +Single-server + +: Uses lxd containers, you'll set `ansible_connection` variable to `lxd`. + +Distributed + +: dhis2 application stack running on separate servers/Virtual-machines. e.g database server runs on its own VM. + +Hybrid + +: A good example here is when you have say postgres running on its own dedicated machine and proxy, dhis2 tomcat instances running from the same server. + +## Single-server Architecture { #single-server-architecture } + +In this setup, all components run on the same server. We are using LXD containers to separate application components. The containers are segregated for PostgreSQL, monitoring, instances and proxy, which improves security and resource allocation. Its the default choice with ansible tools with `ansible_connection=lxd` variable set on the inventory file. + +### Features { #features } + +- Simplicity +- Easy to manage +- Performance + +### Drawbacks { #drawbacks } + +- Scalability - scaling individual components is challenging in this kind of a setup +- Maintainability +- Flexibility - less flexible that distributed setup + +## Distributed architecture { #distributed-architecture } + +Here you have components running on their own dedicated servers. For tools to support this architecture, you'll require a deployment server to execute your Ansible scripts. The deployment server must have an SSH connection to the other hosts. You can test the SSH connection using the command: `ansible all -m ping -u -k`. Ensure that the `ansible_connection` parameter is set to SSH, i.e., `ansible_connection=ssh`, and make sure the IP addresses of the hosts are correctly configured in the inventory file. + +To start the installation, follow these steps: + + +|Command|描述| +|------ |--- | +|`sudo ufw limit 22`
`sudo ufw enable`|Opens ssh port on the host firewall,
change 22 to if you are using non default ssh port| +|`cd dhis2-server-tools/deploy/`|cd into dhis2-server-tools/deploy/ directory| +|`vim inventory/hosts`|Edit inventory hosts file and set `ansible_connection=ssh`| +|`ansible-playbook dhis2.yml -u= -Kk`|`-K`: prompts for sudo password
`-k`: prompts for ssh password
`-u`: username for ssh connection| + +Replace `` with the appropriate SSH user for the hosts. + +``` +ansible_connection=ssh +``` + +### Strengths { #strengths } + +- scalability - easier to scale individual components independently. +- fault isolation - Can easily isolate faults since things are decoupled. +- modularity - is more modular than single server setup. +- More flexible than single-server architecture. + +## hybrid { #hybrid } + +A balanced approach is possible, where the database server is isolated while everything else runs on a single server. This allows you to enjoy the benefits of both configurations. + +## Docker, lxd and kubernetes { #docker-lxd-and-kubernetes } + +There are other emerging architectures that utilize Docker and Kubernetes as container orchestration layers. + diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrade-guide-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrade-guide-md new file mode 100644 index 00000000..3bc51066 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrade-guide-md @@ -0,0 +1,252 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/Upgrade-Guide.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# DHIS2 upgrade guide { #dhis2-upgrade-guide } + +## 介绍 { #introduction } + +This document serves as a comprehensive guide outlining the process of upgrading DHIS2. It is designed to facilitate the smooth transition from one version to another by breaking down the upgrade process into manageable action items. Additionally, it provides detailed considerations for crucial aspects such as backups, ensuring that no essential steps are overlooked. + +While DHIS2 upgrading may appear straightforward on the surface, it is indeed a complex process requiring careful planning and execution. While a simple replacement of the war file with the latest release may seem sufficient, the reality is that unforeseen complications can and do arise. Therefore, it is imperative to anticipate and prepare for potential challenges that may arise during the upgrade process. + +The manual nature of both DHIS2 installation and upgrade underscores the importance of having a well-defined strategy in place. While automation tools such as `apt` exist to streamline certain aspects of the upgrade process, the responsibility ultimately lies with the user to manage dependencies and address any issues that may arise. + +To increase the likelihood of a successful upgrade, thorough preparation and strategic planning are essential. This includes identifying potential risks and developing strategies to mitigate them effectively. By following this general guide and implementing best practices, organizations can minimize disruptions and ensure a smooth transition to the latest version of DHIS2. + +### Who is this document for? { #who-is-this-document-for } + +- Short answer, Whoever is managing and maintaining DHIS2. In most cases, System Administrator, - Generally anyone running an outdated dhis2 instance, and planning to do an upgrade. +- DHIS2 is an open source application. Anyone can simply install/deploy it and implement any project with it, solving whichever needs they have. Obviously, to do an upgrade, there are are basics Linux skills you require. Not everyone can manage the upgrade. System Admins, in most cases are the ones responsible for the server and application maintenance. More often that not, they are the ones performing the upgrade, or at least leading the process of the upgrade. This document is a high level guide helping to plan better for the upgrade. New dhis2 versions are regularly released, but the upgrade process is quite manual. + +### Why do we need to upgrade? { #why-do-we-need-to-upgrade } + +Or asked differently, are there problems running outdated software? There surely are lots of problems with outdated software. Only 3 dhis2 major releases are supported, you want to always run actively supported version. Some of the reasons listed below. + +- to be withing supported version of dhis2, usually the latest three versions. +- to get latest security fixes +- to get latest bug fixes +- latest version might be having performance improvement +- new features could be shipped with the latest releases. +- To meet required dependencies. + +Unlike other software systems, like Linux OS's, dhis2 upgrade process is not automated, this is an hands on task. You will need to to the upgrade yourself. You will need to plan better, know prior required and recommended dependencies. + +Is it advisable to upgrade to the bleeding-edge version? Sometimes the upgrades introduces new problems, regressions, breaking changes, issues never envisaged. That is why we develop this plan. + +### Types of upgrade { #types-of-upgrade } + +It depends on the scope really, upgrades can have many forms, it can be categorized into software, hardware, minor, major, dependency upgrades, name them. DHIS2 is a not stand-alone software, its depends on other libraries and software to work, Java , Tomcat PostgreSQL, OS, just to name a few. Lets talk about upgrade types with respect to dhis2 and its dependencies. + +- Operating system upgrade - We all know that your need a form of an Operating System to run DHIS2. But OS's with time, get out of date. This one type of the upgrade that at some point you'd need to tackle. In most of our deployments, we are using Ubuntu. This system has release life cycles. LTS releases are have 5year support lifetime. Not supported LTS systems runs in most cases unsupported software, take for example Ubuntu 18.04, the default postgres version is 10, which its last release was, November 10, 2022. If you have dhis2 running on old, and no-longer supported OS, then you'll have bigger problems to solve. It is recommended to deal with one problem at at time, start with upgrading the OS, keep the dhis2 system the way it is, while upgrading your base OS. Then after that is successful, start working on the app. In most cases, if you are running an OS that is still withing LTS bracket, its software like PostgreSQL will also be withing supported versions. + +- Database upgrade - Same as the base OS upgrade, the backend database needs to be also upgraded. Its has support life cycle as well, referring to [PostgreSQL Versioning](https://www.postgresql.org/support/versioning/) for example,it is apparent that postgresql supports only the latest five major releases. You always want to be running supported version. Well, it is important to note that in most cases, your PostgreSQL database install with apt package management tool and its upgrade is pretty straight forward, apt deals with dependencies. It try, upgrades have many benefits but but can introduce undesired changes as well. An example, JIT setting, prior to PostgreSQL 12, this setting was off, any server running pg_version 12 onwards have this on by default, and this is a regression on how particularly PI related queries are executed in the DB. + +- Dependency Upgrades - As discussed, dhis2 relies on other software to run, this software needs to be constantly upgrade for reasons already mentioned, lucky enough that can be simple if you are on Linux system, you use upgrade management software such as apt and yum. Its also important reading more on the dependency requirements/recommendations before doing upgrade. +- DHIS2 application Upgrade + - **Major Upgrade** - Significant and potentially breaking changes, new features Major upgrades are often denoted by changes in the first version number (e.g., from version 2.38 to 2.39, or v41 to v42). does changes to the database schema to accommodate new structure. + - **Minor Upgrade (patch update)** - This is an upgrade with incremental, and potentially non-breaking changes. This upgrade usually come with improvements and bug-fixes. Historically, the DHIS2 team refer to these as patch updates. + - **Hot-fix** - These are minimal updates release to solve urgent, critical issues. They can be safely applied to systems already running the proceeding patch update. + +> **Note** +> +> The `2.` in the DHIS2 version number has been replaced with `v` (version) in more recent documentation. The remaining numbers are referenced by the core team in the following format: +> `..` +> *This is equivalent to a classic semantic versioning, which would usually be referred to as `..`* + + +### General guide on developing a good upgrade plan. { #general-guide-on-developing-a-good-upgrade-plan } + +This guide provides a comprehensive upgrade plan, but it is general in nature. Customize it to fit your specific needs. Visualize your entire upgrade process before starting and write it down—that's your upgrade plan. While this guide aims to cover all upgrade requirements, different setups demand different approaches. For instance, you might be running DHIS2 on Windows, or you could have a very outdated database that requires upgrading first. Read the upgrade notes, but keep in mind that they are also general. + +When you begin the actual upgrade, you may need to develop a more specific plan tailored to your situation. Planning is crucial for a successful upgrade as it breaks down the large task into smaller, manageable actions. This clear perspective on what needs to be done makes tackling individual tasks much easier. + +#### Scope of the upgrade { #scope-of-the-upgrade } + +Understand the scope of work better - Well there are other things that need upgrading apart from just dhis2 system. There is always the base operating system, and the PostgreSQL database and even other dependencies, these too get out of date. It is a good idea if you understand the scope of your upgrade. + +#### Read on the release/upgrade notes. { #read-on-the-releaseupgrade-notes } + +Gather required information from the upgrade/release notes usually have important information on the precautions you'll need to take before doing the upgrade. Get to know what is required for the upgrades. Know more about dependency/software version requirements. + +#### Hardware resource requirements { #hardware-resource-requirements } + +Before doing the upgrade, you'll need to budget for the test resources. Ideally, you usually need to test your upgrade before doing actual upgrade. +Your infrastructure should have: + +- Good network - You'll need to have a fast networking if you are on a distributed environment. Preferably, connectivity should happen on 1Gbps links. +- Fast Storage - DHIS2, saving data on PostgreSQL database is I/O intensive, it needs fast disks, preferably SSD disks. + +#### Upgrade Schedule { #upgrade-schedule } + +- **Upgrade Schedule** + - Best timing: Friday or Monday? + - Ensure all necessary personnel are available + - Align with the DHIS2 release schedule + +- **Scheduling and Planning** + - Timelines: Schedule tasks with clear timelines + - Feasibility: Ensure the plan is realistic, considering resources, constraints, and challenges + +- **Team Coordination** + - Roles and Responsibilities: Understand who is responsible for what + - Collaborative process: know your team + +- **Continuous Monitoring and Evaluation** + - Flexibility: Regularly review and adjust the plan as needed + +- **Resource Planning** + - Testing Environment: Plan for test bed resource requirements + - Training: Include a training phase for the team + - Changeover Phase: Optimal timing (e.g., Monday morning or Friday evening) and consider weekend work compensation + +- **Risk Management and Contingency Plans** + - Risk Management: Identify and mitigate potential risks + - Backups: Plan for backups with adequate storage, including off-site backups + +- **Action Points** + - Detailed Breakdown: Break the plan into actionable steps + +- **Post-Upgrade Activities** + - Post-Upgrade: Plan for post-upgrade activities, including monitoring and issue resolution + + + +### Who needs to be involved { #who-needs-to-be-involved } + +- System Administrator - This individual handles server tasks, performs upgrades, and manages server-related activities. +- DHIS2 users - These are users of the system. They can be developers/implementers, those doing data capture, those consuming reports generated etc. +- Network Team - On certain occasions, there exists a distinct and autonomous network team whose support may be required. Typically, they are tasked with configuring and securing the network, including firewall configurations. +- Infrastructure team- Responsible for creating virtual resources, e.g virtual machines, storage pools etc. You'll generally need a test environment, which they will provide. +- person responsible for the DNS +- stakeholders, Management. + - system owners (the Government for example) + - funders + - Managers etc + +### Post Upgrade { #post-upgrade } + +- Testing and feedback channels. +- System monitoring and evaluation +- optimizations, +- backup configuration + +## Detailed considerations { #detailed-considerations } + +### Backups { #backups } + +When planning an upgrade, having a fallback plan is crucial. Numerous issues can arise during the process, so having backups is essential. It’s not uncommon to complete an upgrade only to find that nothing works afterward, and it can be challenging to pinpoint what went wrong. In such situations, your best option is to restore the system to its previous state, which makes backups your lifeline. + +Backups help you prepare for unforeseen circumstances. Ideally, you should have a complete system snapshot. However, if this is not feasible, having a database backup is sufficient. Data is invaluable, and maintaining regular database backups is crucial not just during the upgrade, but as a standard practice. Data continuity is vital for business operations, especially in the face of uncertainties. + +There are several methods to perform database backups, with the pg_dump utility being one of the most commonly used. + +#### Types of backups { #types-of-backups } + +- Full OS backup, snapshot. +- database backup +- local backups +- remote backups +- Cloud Backup +- application backup + +#### What do your need to backup? { #what-do-your-need-to-backup } + +- databases +- dhis.conf, and sometime it has database encryption password +- application static files e.g custom logos etc +- dhis2.war file, -- especially if its been majorly customized, ensure you have its backup. Also, take note of its version information. +- Make backups notes. - version for dhis2 postgresql, proxy and other important dependencies - time it takes to make backups dumps. + +#### Backup Tips: { #backup-tips } + +- Ensure you have enough disk storage for storing local backups.
use `df -h` command to check available disk space on your server. +- Ensure you have remote location for storing your backups. It can be and object storage end point, Network Attached Storage (NAS), some backup server with sufficient storage, +- Versioning - Consider using versioned backups, which allow you to restore to a specific point in time, not just the latest backup. +- Encryption: Encrypt your backups to secure your data, especially if it contains sensitive information +- Documentation: Document your restore procedures and keep them in an easily accessible location. This can save valuable time during a crisis. +- Cloud Backups: Utilize cloud-based backup solutions for scalability, redundancy, and ease of access. +- Snapshot Backups: If your infrastructure supports it, use snapshot backups to create point-in-time copies of your data and systems. +- Compression: Compress your backups to reduce storage requirements and speed up backup and restore processes. + +#### Restore Tips: { #restore-tips } + +- Test Restores: - Regularly be testing your backup restoration, take note of how long it takes, and ensure it works as expected. A backup is only valuable if you can restore from it. +- Validation: Even after restore, validate that your data is intact, and applications are functioning as expected. + +### Assessing Server Requirements for upgrade { #assessing-server-requirements-for-upgrade } + +Typically, the server size is influenced by various factors such as database size, anticipated growth, and expected user numbers. It is advisable to regularly monitor resource utilization using tools like Zabbix and Munin to gauge your system's needs. This monitoring provides insights into resource requirements. Cloud-deployed servers hold an advantage in easy scalability. In many countries with data centers, it is common to specify the minimal resources necessary to operate an empty database. + +- _RAM:_ At least 4 GB for a small instance, 12 GB for a medium instance, 64 GB or more for a large instance. +- _CPU cores:_ 4 CPU cores for a small instance, 8 CPU cores or more for a medium or large instance. +- _Disk:_ SSD is recommended as a storage device. The minimum read speed is 150 Mb/s, 200 Mb/s is good, and 350 Mb/s or better is ideal. In terms of disk space, at least 100 GB is recommended, but it will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of disk space. Plan and ensure your server can be upgraded with more disk space. + +### Software requirements for the new version { #software-requirements-for-the-new-version } + +更高版本的DHIS2需要以下软件版本才能运行。 + +1. An operating system for which a Java JDK or JRE version 8 or 11 exists. Linux is recommended. +2. Java JDK. OpenJDK is recommended. + 1. For DHIS2 version 2.38 and later, JDK 11 is required. + 2. For DHIS2 version 2.35 and later, JDK 11 is recommended and JDK 8 or later is required. + 3. For DHIS2 versions older than 2.35, JDK 8 is required. + 4. For DHIS2 Versions 2.41 and later, JDK 17 is required. +3. PostgreSQL database version 9.6 or later. A later PostgreSQL version such as version 13 is recommended. +4. PostGIS数据库扩展版本2.2或更高版本。 +5. Tomcat servlet container version 8.5.50 or later, or other Servlet API 3.1 compliant servlet containers. + +### What if you also need to upgrade other components like the OS and database etc. { #what-if-you-also-need-to-upgrade-other-components-like-the-os-and-database-etc } + +If you need to upgrade base OS, and other components, the recommended approach is to setup a new environment, with the required OS version and databases for example, + +### How do you assess the existing metadata { #how-do-you-assess-the-existing-metadata } + +One of the most common causes of upgrade failure is that anomalies in the existing metadata might be “acceptable” on the existing version but cause errors on the new version. Taking the opportunity of the upgrade to do a cleanup of your metadata is a useful thing to do and also helps you avoid problems with the upgrade. + +- Run the metadata assessment scripts on the test instance (before upgrading) + + [https://github.com/dhis2/metadata-assessment](https://github.com/dhis2/metadata-assessment) + +- Fix as much as you can fix + +### How do you test { #how-do-you-test } + +- Make a checklist +- Involve users +- Identifying errors in log files +- Performance measures + +## Upgrading DHIS2 (Short version) { #upgrading-dhis2-short-version } + + + +| Step | 任务| 描述 | 状态 | +|---|-----|--------|---| +| 1 | Getting Started|Identification of all National systems and critical custom applications, Versions for the different instances

- Custom Applications
- Software versions (java,tomcat, dhis2,PostgreSQL, nginx/apache2 proxy etc )
- Resources - Test server availability.
- Scope - Does it include OS and the database?|- Pending
- ongoing
- completed | +| 2 | Backup Current System | Identify backup Environment and required specification. Do backups for at least below items:

- DHIS2 database,
- configuration files,
- custom apps,
- any external integration.

Backup documentation
- Take note of the time for backups dumps |- Pending
- ongoing
- completed
| +| 3 | Review DHIS2 Release Notes | Go through the release notes of the new version to understand:

- new features,
- fixes
- potential breaking changes.| | +| 4 | Set Up Staging Environment | Replicate the production setup in a staging environment. Create test cases and test environment on the staging.

This will be used to test the upgrade before it's applied to production.

- Keep versions as is on prod,
- Restore prod database, take note of the time for restore
- Ensure staging works as prod | | +| 5 | Test Upgrade on Staging | Implement the upgrade on the staging environment to identify any issues or conflicts.

Involve users during testing process

- Perform Metadata Cleanup using the tool [here](https://github.com/dhis2/metadata-assessment)
- implement test cases created
- Test and validate applications and functionalities
- Fixing of issues identified|| +| 6 | Notify Stakeholders| Inform all DHIS2 users about the planned upgrade and expected downtime. This ensures all users are prepared for the outage.| | +| 7 | Create roll-back Plan| Backup up the DHIS2 instance (both application and database) as a rollback strategy in case of any total data loss or considerable loss in functionality | | +| 8 | Upgrade Production | Once satisfied with the staging tests, apply the upgrade to the production system. | | +| 9 | Post-Upgrade Testing | Test the main functions in the production environment to ensure everything is working correctly after the upgrade.| | +| 19 | Monitor System | Continuously monitor system performance and logs to catch any unexpected issues early. | | +| 11 | Document Process| Document the upgrade process, any challenges faced, solutions used, and lessons learned for future reference. | | +| 12 | Gather User Feedback | Collect feedback from DHIS2 users on the new version's performance, features, and any potential issues they're facing post-upgrade. | | + + +## The Upgrade calendar (example) { #the-upgrade-calendar-example } + + +|Month|Activity|Resource implication| +|--- |--- |--- | +|April (pre-release)|Metadata assessment and cleanup
Start testing, potentially join beta testing program|Human resource for metadata cleanup

Server resource for testing

Sysadmin resource for installation
Human resources for testing.| +|May (new release)|Test release
Start planning for training, training of trainers, online materials, etc.|Server resource for testing

Human resource for training preparation and training of TOT| +|June|训练|Sysadmin resource for installatio

Server resource for training

Provision of physical or virtual training events| +|July|Upgrade production|Sysadmin resource for installation| + diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrading-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrading-md new file mode 100644 index 00000000..d8074221 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__upgrading-md @@ -0,0 +1,61 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/upgrading.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# Upgrading { #upgrading-dhis2 } + +## Upgrading vs. Updating { #upgrading-vs-updating } + +When we talk about upgrading DHIS2, we generally simply mean "moving to a newer version". However, there is an important distinction between *upgrading* and *updating*. + +**Upgrading** +: Moving to a newer base version of DHIS2 (for example, from 2.34 to 2.36). Upgrading typically requires planning, testing, training (for new features or interfaces), which may take significant time and effort. + +**Updating** +: Moving to a newer patch of the current DHIS2 version (for example, from 2.35.1 to 2.35.4). Updating mainly provides bug fixes without changing the functionality of the software. It is lower risk, and we advise everyone to keep their version up to date. + +## Before you begin { #upgrading-before-you-begin } + +> **Caution** +> +> It is important to note that once you upgrade you will not be able to use the upgraded database with an older version of DHIS2. That is to say **it is not possible to downgrade**. +> +> If you wish to revert to an older version, you must do so with a copy of the database that was created from that older version, or a previous version. Therefore, it is almost always a good idea to make a copy of your database before you uprgrade. + +## Performing the upgrade { #upgrading-process } + +Regardless of whether you are upgrading or updating, the technical process is more-or-less identical. We will just refer to it as upgrading. + +### 1 Safeguard your data { #upgrading-safeguard-your-data } + +Depending on what sort of DHIS2 instance you have, and what you use it for, the first step is to make sure that you can recover any important data if anything goes wrong with the upgrade. + +This means performing standard system admin tasks, such as: + +1. Backing up your database +2. Testing in a development environment +3. Scheduling down time (to avoid data being entered during the upgrade) +4. etc. + +### 2 Upgrade the software { #upgrading-upgrade-the-software } + +#### From v2.29 or below { #upgrading-pre-230 } + +If you are starting from v2.29 or below, you must first upgrade to v2.30 version-by-version, manually, following the upgrade notes you find under the specific version numbers on [our releases site](https://github.com/dhis2/dhis2-releases). When you are at v2.30 you can go to the next section. + +#### From v2.30 or above { #upgrading-post-230 } + +If you are starting from at least v2.30: + +1. **Read all of the upgrade notes from your current version up to the target version on [our releases site](https://github.com/dhis2/dhis2-releases).** Make sure your environment meets all of the requirements +2. Stop the server +3. Make a final copy of your database (and ensure it is not corrupted) +4. Drop any materialized SQL views from your database +5. Replace the war file with the target version (There is no need to upgrade to intermediate versions; in fact, it is not recommended) +6. 启动服务器 + +You should now be ready to enjoy the new fixes and features. + diff --git a/projects/docs-full-site/zh/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md b/projects/docs-full-site/zh/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md new file mode 100644 index 00000000..d21bf04a --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__CONCEPTS__using-gateways-for-sms-reporting-md @@ -0,0 +1,83 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/concepts/SMS-reporting.md" +revision_date: '2024-10-29' +tags: +- Manage +--- + +# 使用网关进行SMS报告 { #sms_report_sending } + +DHIS2 supports accepting data via [SMS](https://docs.dhis2.org/master/en/dhis2_user_manual_en/mobile.html), however, the SMS needs to be compressed. The DHIS2 Android App acts as a transparent layer to send the information via SMS where the user does not have to worry about writing the SMS. To send SMSs with the Android App the SMS gateway need to be properly configured. This section explains the different options available and how to achieve that. + +## Sending SMS { #sms_report_sending } + +It is important to clarify firstly, that this section mainly concerns the set up of **receiving SMS** (from mobile devices to the DHIS2 server), which is necessary when considering using the App to send (sync) information recorded in the app to the DHIS2 server via SMS. In the App this can be set-up under the *Settings* > *SMS Settings* + +将SMS(即从DHIS2服务器发送到移动设备)的设置相对简单。如果仅需要在发生某些事件(消息,阈值等)时从DHIS2向用户电话发送通知,则仅需要发送SMS。 + +所有这些都可以在[移动配置部分](https://docs.dhis2.org/master/en/user/html/mobile_sms_service.html)的SMS服务配置页面中进行配置。 + +常见的提供商(例如*批量SMS *和* Clickatell *)具有开箱即用的支持,并且两个提供商都支持将SMS发送到大多数国家/地区的号码。 + +另请注意,可以使用其他SMS网关来发送和接收SMS。因此,即使您在下面设置了用于接收SMS的解决方案,仍然可以使用上述上述解决方案之一来发送SMS。 + +## 使用Android设备作为SMS网关 { #sms_report_android_gateway } + +到目前为止,最简单的解决方案是使用专用的Android设备作为SMS网关。任何运行Android OS(4.4,Kitkat或更高版本)的手机或平板电脑都可以。为了将消息转发到您的DHIS2服务器,它将需要持续的Internet连接,并且还需要SIM卡来接收传入的SMS。 + +您需要在移动设备上下载并安装DHIS2 Android SMS网关应用程序。请参阅[版本](https://github.com/dhis2/dhis2-sms-android-gateway/releases)列表,您可以在其中下载最新的APK文件进行安装。应用页面本身上有说明,但实际上,您只需要启动应用并输入DHIS2服务器的详细信息(URL,用户名和密码)即可。 + +设置并运行该网关后,您可以使用DHIS2 Capture App在任何其他移动设备的配置页面中输入此网关设备的电话号码。然后,当从这些报告设备发送SMS时,它们将在网关设备上接收并自动转发到DHIS2服务器,在该服务器上对其进行处理。 + +Using this gateway device is perfect for testing the SMS functionality but should not be used in production as it presents several flaws like not being able to handle multipart SMS, handling concurrent SMS and might even be killed by the Android OS. Therefor when considering moving a project to production it would be necessary to investigate one of the more permanent and reliable solutions for gateways below. + +### 使用Android设备网关发送短信 { #sending-sms-using-an-android-device-gateway } + +当前不支持也不记录此选项。 + +## 专用短信网关 { #sms_report_dedicated_gateway } + +本节讨论更永久和专用的SMS网关的使用以及可用的选项。下面的每个选项都将涉及一个提供商(或您自己)与国家/地区的电话运营商建立SMPP连接,并使用此连接来接收传入的SMS并使用HTTP通过Internet将其转发到您的DHIS2服务器。 + +这些解决方案可以使用**长号**或**短代码**。长号是大多数人使用的标准移动电话号码,即+61400123123。短代码只是短号,例如311。短代码通常会花费更多的时间来设置和维护。 + +### 确保输入到DHIS2服务器的SMS格式正确 { #ensuring-incoming-sms-to-dhis2-server-are-formatted-correctly } + +通过API将传入的SMS发送到DHIS2服务器时,请使用以下URL:* https:// / api / sms / inbound * + +在DHIS2版本2.34及更低版本中,此终结点要求入站SMS的格式必须具有非常特定的格式,即消息本身必须是一个名为text的参数,发件人的电话号码必须是一个名为originator的参数。 + +使用以下所有SMS网关选项时,将它们配置为将传入的SMS转发到另一个Web服务时,它们将各自具有自己的格式,该格式与DHIS2 API期望的格式不同。因此,有必要重新格式化它们,然后再将它们发送到DHIS2服务器。 + +一种选择是运行您自己的非常简单的Web服务,该服务仅接收来自网关提供商的传入SMS,将其重新格式化为DHIS2所需的格式,然后将其转发到DHIS2 API。此类服务需要由软件开发人员编写。 + +在DHIS2版本2.35中,计划使用传入SMS的模板系统来支持这些情况,因此您可以指定将从提供商处发送的消息的格式。这样,您可以将DHIS2服务器配置为接受来自任何其他SMS网关提供者的传入SMS,并且它们可以直接将传入SMS发送到DHIS2 API,而无需这种格式的Web服务。 + +### 使用RapidPro { #using-rapidpro } + +[RapidPro](https://rapidpro.io/)是联合国儿童基金会在全球50多个国家/地区提供的服务。它是一套软件,可以与国内电话运营商合作,使组织能够为其项目设计SMS解决方案,例如SMS报告或宣传活动。 + +RapidPro服务将包括通常通过短码与国内一个或多个电话运营商的SMPP连接,这可能专用于NGO的卫生工作。然后可以添加一个Webhook,以便将传入的SMS转发到另一个Web服务,例如上述的格式化Web服务。如果该短代码也用于其他目的,则可能有必要将报告设备的电话号码添加到单独的组中,以便仅将来自那些设备的传入SMS转发到Webhook。 + +RapidPro目前在大约一半正在使用或试用DHIS2的国家/地区中建立和运行。在考虑下面的一种解决方案(可能在财务和时间上都可能会付出高昂的代价)之前,值得与Unicef联系,以确定RapidPro是否可用以及在您所在的国家/地区是否可以用于健康报告。 + +### 使用商业短信网关提供商 { #using-commercial-sms-gateway-providers } + +在上面的“发送SMS”部分提到的商业SMS网关提供商中,它们通常具有在大多数国家(地区)*发送* SMS的功能,但只能在少数国家/地区支持*接收* SMS。他们支持接收SMS的大多数国家/地区不是使用DHIS2的国家/地区。在使用DHIS2的国家/地区中,大多数已经在国内运行RapidPro服务了。 + +但是,值得研究您所在国家/地区可以使用哪些商业选项。在某些国家/地区,会有一些小型国家公司提供SMS服务,它们将与您可以使用的电话提供商建立现有的SMPP连接。 + +### 直接使用电话运营商 { #using-phone-carriers-directly } + +如果以上解决方案均不可用,则有必要直接与您所在国家的电话运营商联系。向他们询问的第一个问题是,他们是否知道与您有联系的与他们进行SMPP连接的任何公司。 + +如果不是这样,作为最后的选择,您将需要考虑与电话提供商建立并维护自己的SMPP连接。但是,并非所有电话提供商都可以提供这种服务。 + +您需要运行自己的服务器,该服务器上运行的软件例如[Kannel](https://www.kannel.org/),该软件(通常通过VPN)连接到在电话提供商网络中运行的SMPP服务。有了此设置,任何配置的长号或短码的传入SMS都会从电话运营商发送到Kannel服务器,然后您可以按照上述方式转发这些消息。 + +### 接收串联或多部分短信 { #receiving-concatenated-or-multipart-sms } + +When syncing data via SMS with the DHIS2 Android App, it uses a compressed format to use as little space (characters of text) as possible. Despite this, it will quite often be the case that a message will extend over the 160 character limit of one standard SMS. On most modern mobile devices these messages will still be sent as one concatenated or multipart SMS, and received as one message. + +然后,在选择SMS网关时,重要的是确认所使用的电话运营商支持级联SMS。他们中的大多数人都将支持此功能,但是重要的是要进行确认,因为如果拆分SMS,SMS功能将无法使用。这依赖于称为UDH(用户数据头)的东西。与提供商讨论时,请确保您询问是否支持。 + diff --git a/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md new file mode 100644 index 00000000..a9150b2f --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__automated-install-on-ubuntu-md @@ -0,0 +1,113 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-automated-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Introduction { #getting_started_linux_automated_install } + +DHIS2 stands as a freely accessible, open-source, and adaptable software platform. It serves the purpose of collecting, managing, visualizing, and analyzing health data derived from diverse sources and programs. DHIS2 components are proxy (Nginx/Apache2), Tomcat Server, PostgreSQL database and optional APM and Server monitoring tools. This quick start shows you how to install dhis2 and its components to a single sever with dhis2-server tools. + +## Prerequisites {#getting_started_prerequisites } + +1. Server running Ubuntu 22.04 or 24.04 +2. SSH Access with `non-root` user with `sudo` privileges + +## Installing DHIS2 { #installing-dhis2 } + +1. Make sure your server’s firewall is active and the SSH port is allowed. Replace `{ssh_port}` with your actual SSH port number. + ``` + sudo ufw limit {ssh_port}/tcp + sudo ufw enable + ``` +2. Connect to your server via SSH and clone the repository from "https://github.com/dhis2/dhis2-server-tools". + + ``` + git clone https://github.com/dhis2/dhis2-server-tools.git + ``` + +3. Run the installation + + ``` + cd dhis2-server-tools/deploy + cp inventory/hosts.template inventory/hosts + sudo ./deploy.sh + ``` + +4. Open the DHIS2 web interface at `https://{server_ip}/dhis,` replacing `{server_ip}` with your actual IP address. Use the default credentials: `admin` for the username and `district` for the password. + ``` + https://{server_ip}/dhis + ``` + +## Next steps { #next-steps } + +### Configure fully qualified domain name { #configure-fully-qualified-domain-name } + +- Edit your inventory hosts file and set the `fqdn` variable, use an editor of your choice. + ``` + vim inventory/hosts + fqdn=dhis.example.com + ``` +- Save your changes and run the install again, + + ``` + sudo ./deploy.sh + ``` + + > **Important** + > + > To use Let's Encrypt, ensure the domain is mapped to your server's public IP address before setting `fqdn`. Alternatively, you can use a custom TLS certificate. + +### Adding an instance { #adding-an-instance } + +You can run multiple instances on a single server. Adding an instance will create a separate lxd container. + +- Edit `dhis2-server-tools/deploy/inventory/hosts` file in + ``` + vim dhis2-server-tools/deploy/inventory/hosts + ``` +- Add a new line line under `[instances]` section, should look like the line below, + ``` + [instances] + dhis ansible_host=172.19.1.11 database_host=postgres # your first instance + hmis ansible_host=172.19.1.12 database_host=postgres # your second instance + ``` + +> **Note** +> +> The name `hmis` and ansible_host `172.19.1.12` should be unique. + +### Deploying custom TLS certificate to the reverse proxy { #deploying-custom-tls-certificate-to-the-reverse-proxy } + +On some occasions, you could have your own TLS certificate and you are not using LetsEncrypt. Here is how you can instruct the tools to use your own TLS certificate. + +> **Note** +> +> You'll need to have your TLS certificate file and its corresponding key. + +- Copy TLS certificate and key to `dhis2-server-tools/deploy/roles/proxy/files/` They should be named `customssl.crt` and `customssl.key` respectively. + +- Configure the tools to use the copied TLS certificate and key by editing your `inventory/hosts` file and setting `SSL_TYPE` parameter to `customssl` , see below, + +``` +SSL_TYPE=customssl +``` + +### PostgreSQL Optimization { #postgresql-optimization } + +The tools provide options to configure certain PostgreSQL variables for improved performance (see [PostgreSQL performance tuning](#install_postgresql_performance_tuning)). These variables can be defined in your inventory file, in-line with your host line in `key=value` format. For more details, refer to [Ansible host variables documentation](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html#assigning-a-variable-to-one-machine-host-variables). Alternatively, if your host is named `postgres` in the hosts file, you can create a file named `postgres` in the `dhis2-server-tools/deploy/inventory/host_vars/` directory and define the variables, in `key: value` format . Templates are available in the directory to help you get started. + +The list of variables can be found here: [PostgreSQL Optimization Variables](#dhis2_server_tools_postgresql_variables) + +### DHIS2 Instance variables { #dhis2-instance-variables } + +These are variables specific to the dhis2 instance, like PostgreSQL variables, you can either define them in inventory host or in the file you create in `dhis2-server-tools/deploy/inventory/host_vars/`, there is `dhis.template` that ships with the tools, create a file from the template with e.g. + +``` +cp dhis2-server-tools/deploy/inventory/host_vars/dhis.template dhis2-server-tools/deploy/inventory/host_vars/dhis + +``` + +The list of variables can be found here: [Instance Config variables](#dhis2_server_tools_instance_variables) + diff --git a/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md new file mode 100644 index 00000000..5934cec8 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-ubuntu-md @@ -0,0 +1,320 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/linux-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Install on Ubuntu Server { #getting_started_linux_automated_install } +## Introduction { #install_server_setup } +This guide explains how to manually install DHIS2 on Ubuntu 22.04 +with PostgreSQL and Tomcat as the server. It also suggests +using a proxy (like nginx or Apache) and monitoring tools (like Munin or +Zabbix) for enhanced performance. Although all components can be hosted +separately, this guide focuses on a simple, single-server setup. + +This guide is intended mainly as a reference for general installation +practices. Setup steps can vary depending on factors like operating system, +database choice, and other configurations. It is therefore, strongly +recommended that some automation be used for the install, and for production +setups, refer to [Automated install on Ubuntu](#getting_started_linux_automated_install) + +For optimum performance, it is recommended that you allocate PostgreSQL database +more that half of the available RAM, and the remaining half be shared between +your dhis2 instances, and some Operating System. The steps marked as +*optional*, like the step for performance tuning, can be done at a later stage. + +Here, the term `invoke` refers to running a command directly in the terminal. + +## Prerequisites { #prerequisites } +* Server running Ubuntu 22.04 +* SSH Access with `non-root` user with `sudo` privileges + +## 创建一个用户来运行DHIS2 { #install_creating_user } +DHIS2 on Tomcat should never be run as the `root` user. Instead, create a +standard user and use it to run the Tomcat instance to enhance security., + +> **重要** +> +>您不应以root用户等特权用户身份运行DHIS2服务器。 + +* Create a dhis2 system user + ```sh + sudo useradd -d /home/dhis -m dhis -s /bin/false + ``` + +* Set the password for the created user + ```sh + sudo passwd dhis + ``` + Make sure you set a strong password with at least 15 random characters. + +## 创建配置目录 { #install_creating_config_directory } +* Create config directory for the DHIS2 instance. This directory will also be + used for apps, files and log files. + ```sh + sudo -u dhis mkdir /home/dhis/config + ``` +* DHIS2 will look for an environment variable called `DHIS2_HOME` to locate the + DHIS2 configuration directory. This directory will be referred to as + `DHIS2_HOME` in this installation guide. We will define the environment + variable in a later step in the installation process. +* If no environment variable `DHIS2_HOME` is found, the default configuration + file location `/opt/dhis2` is used. + +## Setting server timezone and locale { #install_setting_server_tz } +* It may be necessary to reconfigure the time zone of the server to match the + time zone of the location which the DHIS2 server will be covering. If you are + using a virtual private server, the default time zone may not correspond to + the time zone of your DHIS2 location. You can easily reconfigure the time + zone by invoking the below and following the instructions. + ```sh + sudo dpkg-reconfigure tzdata + ``` + +* PostgreSQL is sensitive to locales so you might have to install your locale + first. To check existing locales and install new ones (e.g. English US): + ```sh + locale -a + sudo locale-gen en_US.utf8 + ``` + +## PostgreSQL安装 { #install_postgresql_installation } + +Install PostgreSQL with below steps + +* Add PostgreSQL repository + ``` + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + ``` +* Import the PostgreSQL repository signing key: + ``` + curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + ``` +* Update the package lists + ``` + sudo apt update -y && sudo apt upgrade -y + ``` +* Install PostgreSQL 16 + ``` + sudo apt-get install -y postgresql-16 postgresql-16-postgis-3 + ``` + +* Ensure postgresql is started and enabled + ``` + sudo systemctl start postgresql + sudo systemctl enable postgresql + ``` + +* Create a non-privileged database user `dhis` with the `command` below: + ```sh + sudo -u postgres createuser -SDRP dhis + ``` + Enter a secure password at the prompt:
+ + > **Note** + > + > This database user and password will be used by your DHIS2 application to + > connect to the database. You will need to write down this user and password + > in the `dhis.conf` file at a later stage. + +* Create a database named `dhis` owned by `dhis` database user by invoking: + ```sh + sudo -u postgres createdb -O dhis dhis; + ``` +* The *PostGIS* extension is needed for several GIS/mapping features to work. + DHIS2 will attempt to install the PostGIS extension during startup, but its + not gonna work because dhis user is not superuser. For adding trigram + indexes and compounding it with primitive column types, two extensions have + to be created in the database for DHIS 2 verision 2.38 and later. The + extensions are already part of the default posgresql installation: Since + DHIS2 database user does not have permission to create extensions, create + them from the console using the `postgres` user with the following commands: + ```sh + sudo -u postgres psql -c "create extension postgis;" dhis + sudo -u postgres psql -c "create extension btree_gin;" dhis + sudo -u postgres psql -c "create extension pg_trgm;" dhis + ``` + Check [PostgreSQL Performance Tuning](#install_postgresql_performance_tuning) for optimization parameters. + + +## Java安装 { #install_java_installation } +--- +| DHIS2 version | JDK recommended | JDK required | 安装 +|:--------------|:---------------:|:------------:|:----------------------------------------| +| 2.41 | 17 | 17 |`sudo apt-get install -y openjdk-17-jdk` | +| 2.40 | 17 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.38 | 11 | 11 |`sudo apt-get install -y openjdk-11-jdk` | +| 2.35 | 11 | 8 |`sudo apt-get install -y openjdk-11-jdk` | +| pre 2.35 | 8 | 8 |` sudo apt-get install -y openjdk-8-jdk` | + +The recommended Java JDK for DHIS2 2.40 and above is OpenJDK 17, its required for 2.41. +``` +sudo apt-get install -y openjdk-17-jdk +``` +The recommended Java JDK for DHIS2 2.35 - 2.40 is OpenJDK 11. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-11-jdk +``` +For dhis2 versions below 2.35, OpenJDK 8 is required. Install it by invoking command below, +``` +sudo apt-get install -y openjdk-8-jdk +``` +通过调用以下命令来验证安装是否正确: +``` +Java版本 +``` + +## DHIS2配置 { #install_database_configuration } + +The database connection information is provided to DHIS2 through a +configuration file, `dhis.conf`. Create this file and save it in +the `DHIS2_HOME` directory. As an example this location could be: + +```sh +sudo -u dhis touch /home/dhis/config/dhis.conf +``` + +与上述设置相对应的PostgreSQL配置文件具有 +这些属性: + +Edit the file and add the content looking like below, + +``` +sudo -u dhis vim /home/dhis/config/dhis.conf +``` + +```properties +# ---------------------------------------------------------------------- +# Database connection +# ---------------------------------------------------------------------- + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis + +# Database username +connection.username = dhis + +# Database password +connection.password = xxxx +``` + +### Tomcat和DHIS2安装 { #install_tomcat_dhis2_installation } + +* To install the Tomcat servlet container we will utilize the Tomcat user + Install it with below command, + ``` + sudo apt-get install -y tomcat9-user + ``` + This package allows creating a new Tomcat instance. The instance will + be created in the current directory. An appropriate location is the home + directory of the `dhis` user: +* Use below command to create an instance named `tomcat-dhis` in `/home/dhis/tomcat-dhis` directory + ``` + sudo tomcat9-instance-create /home/dhis/tomcat-dhis + sudo chown -R dhis:dhis /home/dhis/tomcat-dhis/ + ``` + > **Note** + > + > `tomcat9-user` package allows for creating any number of DHIS2 instances if + > that is desired. + +* Edit the file `/home/dhis/tomcat-dhis/bin/setenv.sh` and append below lines + at the end for the file. + `sudo -u dhis vim /home/dhis/tomcat-dhis/bin/setenv.sh` + ``` + export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64/' + export JAVA_OPTS='-Xms4000m -Xmx7000m' + export DHIS2_HOME='/home/dhis/config' + ``` + * `JAVA_HOME` sets the location of the JDK installation. + * `JAVA_OPTS` passes parameters to the JVM. + * `-Xms` sets the initial allocation of memory to the Java heap memory space. + * `-Xmx` sets the maximum allocation of memory to the Java heap memory space. This should reflect how much memory you would like to allocate to the DHIS2 software application on your server. + * `DHIS2_HOME` sets the location of the `dhis.conf` configuration file for DHIS2. + Check that the path the Java binaries are correct as they might vary from + system to system, e.g. on AMD systems you might see + `/java-11-openjdk-amd64`. Note that you should adjust these values to your + environment. + +* DHIS2 should never be run as a privileged user. After you have modified the + `setenv.sh` file, modify the `startup.sh` script to check and verify that the + script has not been invoked as root. + ``` + sudo -u dhis vim /home/dhis/tomcat-dhis/bin/startup.sh + ``` + ```sh + #!/bin/sh + set -e + + if [ "$(id -u)" -eq "0" ]; then + echo "This script must NOT be run as root" 1>&2 + exit 1 + fi + + export CATALINA_BASE="/home/dhis/tomcat-dhis" + /usr/share/tomcat9/bin/startup.sh + echo "Tomcat started" + ``` + +* The Tomcat configuration file is located in + `/home/dhis/tomcat-dhis/conf/server.xml`. The element which defines the + connection to DHIS is the *Connector* element with port 8080. You can change + the port number in the Connector element to a desired port if necessary. The + `relaxedQueryChars` attribute is necessary to allow certain characters in + URLs used by the DHIS2 front-end. + ```xml + + ``` + +* The next step is to download the DHIS2 WAR file and place it into the + _webapps_ directory of Tomcat. You can download DHIS2 WAR files from the + following location: + ```sh + https://releases.dhis2.org/ + ``` + An example of how do download dhis2 version v40.3.0 + ``` + wget -O dhis.war https://releases.dhis2.org/40/dhis2-stable-40.3.0.war + ``` + Move the WAR file into the Tomcat `webapps` directory. We want to call the + WAR file `ROOT.war` in order to make it available at `localhost` directly + without a context path: Using war file downloaded with above wget example: + + ```sh + sudo mv dhis.war /home/dhis/tomcat-dhis/webapps/ROOT.war + ``` + +## 运行DHIS2 { #install_running_dhis2 } + +* Start the DHIS2 instance with the command below, + ```sh + sudo -u dhis /home/dhis/tomcat-dhis/bin/startup.sh + ``` + +> :bulb: **Important** +> +> The DHIS2 server should never be run as root or other privileged user. + +* Check the logs live + ``` + tail -f /home/dhis/tomcat-dhis/logs/catalina.out + ``` + +* To stop dhis2 instance + ``` + sudo -u dhis /home/dhis/tomcat-dhis/bin/shutdown.sh + ``` + +* If the WAR file deployed in `webapps` is named ROOT.war, you can now access your DHIS2 instance at the following URL: + + http://localhost:8080 + +## Creating systemd service to manage the instance { #creating-systemd-service-to-manage-the-instance } + diff --git a/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-windows-md b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-windows-md new file mode 100644 index 00000000..74ff92d1 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__GETTING-STARTED__manual-install-on-windows-md @@ -0,0 +1,11 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/getting-started/windows-manual-install.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Manual Installation on Windows { #manual-installation-on-windows } + +Coming soon! + diff --git a/projects/docs-full-site/zh/MANAGE__HOSTING__cloud-hosting-md b/projects/docs-full-site/zh/MANAGE__HOSTING__cloud-hosting-md new file mode 100644 index 00000000..53fe7af0 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__HOSTING__cloud-hosting-md @@ -0,0 +1,54 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/cloud-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Cloud Hosting { #cloud-hosting } + +## 介绍 { #introduction } + +Cloud server hosting offers a compelling alternative to traditional physical server deployments. In this model, cloud service providers provision virtual server instances, often referred to as cloud servers or virtual machines (VMs). These VMs are not tied to specific hardware but rather operate within a cloud computing environment. This environment typically spans a network of interconnected data centers, offering robust infrastructure and scalability on demand. + +## Cloud servers { #cloud-servers } + +The Ministry of Health (MoH) utilizes a cloud-based approach for its server infrastructure. This method, known as **Infrastructure as a Service** (IaaS), involves acquiring server resources from a commercial cloud provider like Linode, AWS, Contabo, or Azure. Under this model, the MoH pays only for the specific resources (computing power, storage, etc.) it consumes, offering flexibility and cost-efficiency. + +### Advantages { #advantages } + +- Usually the lowest cost option relative to Physical Hosting +- Can provide better performance and reliability +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note**: +> +> Most cloud services work on credit card basis, which is often not a good match for government procurement (paying for it can be a barrier). UiO has relationships with some providers (such as Linode) that allows countries to pay up front by wire transfer, which can make this a more viable option. + +## Cloud (Software as service) { #cloud-software-as-service } + +The Ministry of Health (MoH) leverages a Software as a Service (SaaS) model for its DHIS2 deployment. This approach involves obtaining DHIS2 software and its associated infrastructure from a commercial cloud provider specializing in DHIS2 solutions. Examples of such providers include BAO, BlueSquare, and HISP South Africa. + +### Advantages { #advantages } + +- Provider manages system setup and administration (no need to employ a system administrator) +- Reduced IT Burden: SaaS eliminates the need for MoH to manage server infrastructure or software updates, minimizing IT resource requirements. +- Most security concerns are handled by the provider +- Service-level agreements for performance and stability +- Potentially Lower Costs: Compared to traditional deployment models, SaaS can offer lower upfront costs and predictable pay-as-you-go pricing. + +### Drawbacks { #drawbacks } + +- More expensive than infrastructure-as-a-service (though savings in staff cost) +- Potential payment challenges for MoH (means of payment) +- Budgeting challenges for recurring payments + +> **Note** +> +> Similar to the previous mode, these services require regular, recurring payments to the service provider. Management processes need to be in place to manage the budget and ensure bills are paid. + diff --git a/projects/docs-full-site/zh/MANAGE__HOSTING__physical-hosting-md b/projects/docs-full-site/zh/MANAGE__HOSTING__physical-hosting-md new file mode 100644 index 00000000..da73d0db --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__HOSTING__physical-hosting-md @@ -0,0 +1,107 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/physical-hosting.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Physical Hosting { #physical-hosting } + +## 介绍 { #introduction } + +Physical hosting involves running DHIS2 servers within a country, where organizations manage their own physical servers either within ministry premises or centrally in a national data center. In cases where the ministry or government has sufficient technical and human resources and infrastructure, physical hosting can be a preferred option. + +As mentioned, physical hosting can further be sub-divided into local hosting and centralized hosting. + +## Local Physical hosting { #local-physical-hosting } + +The Ministry of Health typically installs its server in a dedicated room. This server room often houses multiple servers, not just one. These servers are often clustered together to ensure high availability and reliability. + +### Advantages { #advantages } + +- Direct Control: Offers the highest level of control over server resources and data. +- Accessibility: Having the server on-site ensures easy physical access for maintenance, + +### Drawbacks { #drawbacks } + +- Demands significant technical expertise for design, installation, and maintenance. +- Initial investment costs are high. +- Presents various physical challenges such as power supply reliability, pest control, environmental control (water, ventilation), physical security, and round-the-clock building access. + +Because of the costs and risk involved, in most cases we would not advise going this route. + +## Centralized physical hosting { #centralized-physical-hosting } + +The Ministry of Health (MoH) applications reside in a central government data center, acting as a shared service for various ministries and sectors. This data center typically uses virtualization technology to create and share resources efficiently. + +In simpler terms, MoH is just one tenant in this large data center "cloud" environment, sharing resources with other government entities. + +### Advantages { #advantages } + +- Aligned with national policies on data sovereignty +- MoH does not need to maintain server infrastructure directly +- Only System Administrator skills are required + +### Drawbacks { #drawbacks } + +- Cost may be higher than cloud hosting providers +- Dependent on the skill level and infrastructure of the data center team +- Access to services can be hampered by bureaucratic processes +- We often see performance issues in these setups + +## Other Considerations for Physical hosting { #other-considerations-for-physical-hosting } + +### The server { #the-server } + +It is the server where you would typically have compute and memory resources. More often that not, you'd also have directly attached storage on a physical server. A data-center in most cases will have more than one server running, and different servers serve different purposes depending on the application they are running. Workloads have different resource requirements, there are those that are compute intensive, others are over reliant on memory and so forth. Servers are typically interconnected using fast switches. + +A PostgreSQL server thrives on good resources, including a good share of CPU and RAM. For optimal performance, fast disks are essential, with Solid State Drives (SSDs) being the preferred choice. The following command, for example, provides a quick overview of your disk performance in terms of latency. Any latency exceeding 3 seconds may indicate a potential issue. + +``` +dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync +``` + +### Networking { #networking } + +In cases where you are building a cluster of servers, you will typically need to have a fast connectivity between your physical servers. It is recommended to have fiber links supporting even up to 40G links connecting your servers. This implies a modern network Switch in your server room. If you are going to be running your workloads on a Network Attached Storage (NAS), ensure this resource has excellent networking to your server stack. Clustered hosts will typically need super-fast networking to perform optimally. + +#### Internet Connectivity { #internet-connectivity } + +_Inbound Traffic:_ DHIS2 application access for users will occur through the internet. This necessitates sufficient bandwidth to accommodate user traffic efficiently. + +_Outbound Traffic:_ Periodic software and system updates require outbound internet access for the server. + +_Recommendation:_ To ensure smooth user experience and efficient update processes, a high-bandwidth internet connection (e.g. 1 Gigabit per second) is recommended for your data center. + +#### DMZ network { #dmz-network } + +In a Data-Center, you have a gateway to your infrastructure, this is usually a reverse proxy. The gateway needs to have public ip address for it to be accessible from the internet. It is a good practice to have this server in a separate network, a DMZ. Another server that can be run in this network is an SSH JumpHost. + +#### Internal network { #internal-network } + +You have other servers that should not to be accessible from the internet. Examples are the application server, this is were you'll be running your dhis2 application, and the database server, this is where you'll have PostgreSQL database running. These servers should be on a private network with no direct inbound access from the internet. These servers are then only accessible from either ssh JumpHost for ssh access for from the proxy (running nginx, apache2 or HAProxy) for web app access. + +### High Availability { #high-availability } + +A high availability (HA) setup is broadly defined as infrastructure without a single point of failure. Its a good practice to have redundancy on the different levels i.e server, networking and storage. + +### Backups and disaster planning { #backups-and-disaster-planning } + +Backups and archiving requires additional server resources. Consider a disaster recovery plan with backups in a separate data center for added security. + +### Testing environment { #testing-environment } + +A dedicated testing environment (separate servers) is crucial for safely testing DHIS2 updates and other major changes before deploying them to production. This minimizes risk to your live system. + +Budget for additional servers to facilitate a robust testing environment. Plan for major upgrades to operating systems and database servers every 2-3 years. + +Testing these upgrades in the dedicated environment helps ensure a smooth transition when implemented. + +### Prioritize Physical Security: { #prioritize-physical-security } + +_Implement Rigorous Access Control:_ Enforce strict access protocols for the data center. This may include the use of security badges, biometric authentication systems, and security cameras to monitor entry points and critical areas. + +_Mitigate Environmental Hazards:_ Develop a comprehensive pest control program to safeguard against rodents and other potential threats. Additionally, consider measures to mitigate other environmental hazards like flooding or fire. + +_Maintain Cable Infrastructure:_ Regularly inspect and maintain network and power cables to prevent damage or deterioration. + diff --git a/projects/docs-full-site/zh/MANAGE__HOSTING__requirements-md b/projects/docs-full-site/zh/MANAGE__HOSTING__requirements-md new file mode 100644 index 00000000..24ab8c47 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__HOSTING__requirements-md @@ -0,0 +1,86 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/hosting/requirements.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# 要求 { #requirements } + + + + + + + +## Hardware { #hardware } + +Hardware requirements depend on your database size, with larger databases needing more resources. It’s important to monitor system performance to understand usage. If you're managing your own infrastructure (not cloud-based), ensure your network connections are solid, using nothing below 1 Gbps between hosts. Fast SSDs are critical, particularly for PostgreSQL databases, as they provide better read/write speeds and lower disk latencies, which improve overall performance. + +## Operating System { #operating-system } + +DHIS2 have been widely tested on Ubuntu 22.04 and 24.04 host. It is recommended that you run it on latest LTS release of an Ubuntu Server. + +### DHIS2 Architecture { #dhis2-architecture } + +DHIS2 needs servers to run. It has different parts: DHIS2 war file, PostgreSQL database, Monitoring Server and Proxy. You can install all these components on a single server or distributed on multiple servers. While the architecture itself may seem straightforward, running it in a real-world environment (production) requires significant planning. + +Hosting Consideration factors + +- **Reliability:** - the application should strive for 24/7 availability with clearly defined windows for scheduled maintenance and minimal potential for unscheduled downtime. +- **Data Security:** - If the data is sensitive, E. Personal Identifier Information (PII) robust security measures are crucial. +- **Performance and scalability:** - Large sites may have tens of thousands of users and millions of records +- **Maintainability:** - The system will need to be actively maintained and updated +- **Scalability:** - Whether the system must be scalable to accommodate future growth in data volume, user base, or functionality. This may involve implementing features like horizontal scaling or using distributed architectures. + +These requirements translate into needing the right hardware (physical infrastructure), strong security practices, and good overall performance. It also means the people maintaining the system need a wide range of technical skills. This complexity might not be obvious from just looking at the simple dhis2 architecture. + +Therefore, it is vital to plan for the server implementation early on. This way, you can secure the necessary resources (hardware and skilled personnel) to meet these demands and ensure the smooth running of the application in a production environment. + +### DHIS2 application Components { #dhis2-application-components } + +A DHIS2 application requires a minimum of three components to run: + +- **Servlet container (Required):** Like tomcat (or jetty). Runs the java DHIS2 web application and hosts additional apps. +- **A database server (Required):** Recent versions of DHIS2 require a postgresql database with version greater than 9.6. +- **A web proxy front-end (Optional):** The primary function of this is for SSL termination and potentially load sharing. Nginx and apache2 are commonly used. +- **Monitoring (Optional):** For real-world use (production), keeping an eye on both the application and server health is crucial. This can be done with tools like Prometheus (modern and likely to be directly integrated with the dhis2 system ) or Munin/Zabbix. Alerts can be sent via email or integrated with messaging apps like Telegram or Slack. + +It has been common to set up all four components on one machine or a virtual machine, This might be called the "boombox" approach and should no longer be considered good practice except for very basic setups for aggregate data collection. There are a number of good reasons to isolate these components: + +- **Security:**- This is an important reason, particularly if you have a number of web applications running. If your web application gets hacked you want to be sure that the potential damage is limited. +- **Monitoring and performance:**- When all components are running together it can be hard to determine the underlying culprit in memory or cpu exhaustion and to provision each appropriately. +- **Scalability:**- In order to be able to scale the web application or database horizontally, replicas need to be allocated their own resources. +- **Easier Maintenance:**- Updating or maintaining individual components becomes simpler when they're not intertwined. +- **Improved Stability:**- Isolating components prevents issues in one area from crashing everything else. + +Isolation can be done with different levels of granularity: + +- **Separate physical machines:** - This provides isolation but is a bit of an inflexible (and expensive) solution to the problem. The only exception to this might be the postgresql database server, where there can be some performance advantage to running on bare metal with direct access to disk array, but it is a costly choice. +- **Separate virtual machines:** - This can be a very sensible solution, where you dedicate an in-house VM or a cloud hosted VPS to each of the proxy, application server and database. There is a security concern that might need to be taken into account as, by default, traffic will pass unencrypted on the network between the various components. This might be considered OK if the network is trusted, but in many cases you might need to implement SSL on tomcat and postgres to ensure adequate encryption in transit. +- **Separate containers:** - This can be an elegant and lightweight solution to provide isolation between components. It is particularly attractive where you might be renting a single VPS server from a cloud provider. There are different Linux containerization solutions with different advantages and disadvantages. Most people will use docker or lxc or some combination of the two. This guide will describe a solution using lxc, but we will also add documentation on docker. + +No matter how you isolate the system components (web server, app server, database, etc.), they should have limited access to each other. Below are few examples of what that means: + +- **Proxy Server (e.g., Nginx):** Only the proxy server can access Tomcat containers through the HTTP port. +- **Application Server (e.g., Tomcat):** Shouldn't allow direct access via SSH from other components. +- **Database Server (e.g., PostgreSQL):** Shouldn't be accessible by the proxy server directly. + +**Lock it it Down:** Firewalls on your servers (physical or virtual) and containers should be enabled and only allow connections from authorized sources. This minimizes the risk of one compromised component affecting others. + +## Other Important considerations { #other-important-considerations } + +### Budget: { #budget } + +- Backups and archiving of data (this requires additional server resources) +- Systems for testing, staging and training (to test DHIS2 version updates and other major changes with lower risk to the system) +- Major operating system/database server upgrades (every 2-3 years) + +> **Note** +> +> Countries typically run each DHIS2 system (HMIS, HIV Tracker, TB Tracker, COVID-19) on separate servers, each of which need to be provisioned. These should be managed and budgeted holistically. With cloud/virtual systems, test servers do not need to be permanently on, but can be spun up on demand as long as sufficient resources are available. + +## 结论 { #conclusion } + +Decisions on hosting are not final. Countries may begin with one hosting option with a long-term plan to transition to another, for example hosting locally and planning to transition to the cloud or vice versa. Many countries have the long-term ambition of building a national data center and building the skills required to manage it. It is possible to have this ambition in the long term while still avoiding risky hosting decisions in the short term (such as trying to host data locally before the necessary skills and infrastructure are in place). + diff --git a/projects/docs-full-site/zh/MANAGE__HOW-TO__dhis2-high-availability-md b/projects/docs-full-site/zh/MANAGE__HOW-TO__dhis2-high-availability-md new file mode 100644 index 00000000..dfc34839 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__HOW-TO__dhis2-high-availability-md @@ -0,0 +1,198 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/tomcat-clustering.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# Web服务器群集配置 { #install_web_server_cluster_configuration } + +本节介绍如何设置DHIS 2应用程序以在 +簇。 + +# 群集概述 { #install_cluster_configuration_introduction } + +Clustering is a common technique for improving system scalability and +availability. Clustering refers to setting up multiple web servers such +as Tomcat instances and have them serve a single application. Clustering +allows for *scaling out* an application in the sense that new servers +can be added to improve performance. It also allows for *high +availability* as the system can tolerate instances going down without +making the system inaccessible to users. + +有一些方面需要配置才能运行DHIS 2 +在集群中。 + +* 必须安装Redis数据存储,并且必须提供连接信息 +be provided for each DHIS 2 application instance in`dhis.conf`. + +* DHIS 2 instances and servers must share the same *files* folder used for +应用程序和文件上传,通过* AWS S3云文件存储*选项 +或共享的网络驱动器。 + +* DHIS 2 instance cache invalidation must be enabled. + +* A load balancer such as nginx should be configured to distribute Web requests +跨集群实例。 + +## DHIS 2 instance cache invalidation with Redis { #install_cluster_cache_invalidation_redis } + +DHIS 2 can invalidate the various instance's caches by listening for events sent and emitted from a Redis server, when configured to do so. + +This is considered the easiest and preferred way to enable cache invalidation, if you already plan to use [Redis for +shared data store cluster configuration](#install_cluster_configuration_redis), it will share this Redis server for both purposes. + +### Prerequisites { #prerequisites } + +* [ Install ](https://docs.kipkurgat.com/server-admin/how-to-guides/installing-redis.html) Redis server + +### Redis configuration { #redis-configuration } + +No specific configuration in Redis is needed for DHIS 2 cache invalidation to work. + +When you chose to enable shared data store cluster configuration with Redis, you will share the Redis host/port +configuration with the cache invalidation system. In other words you can only have **one** shared Redis server configured. + +### DHIS 2 configuration { #dhis-2-configuration } + +The following properties must be specified in the DHIS 2 `dhis.conf` configuration file: + +```properties +# Cache invalidation config + +redis.cache.invalidation.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) +``` + +## Redis共享数据存储集群配置 { #install_cluster_configuration_redis } + +In a cluster setup, a Redis server is required and will handle +shared user sessions, application cache and cluster node leadership. + +For optimum performance, *Redis Keyspace events* for _generic commands_ +and _expired events_ need to be enabled in the Redis Server. If you are +using a cloud platform-managed Redis server (like *AWS ElastiCache for Redis* +or *Azure Cache for Redis*), you will have to enable keyspace event notifications +using the respective cloud console interfaces. If you are setting up a standalone +Redis server, enabling keyspace event notifications can be done in the +*redis.conf* file by adding or uncommenting the following line: + +``` +notify-keyspace-events Egx +``` + +DHIS2 will connect to Redis if the *redis.enabled* configuration +property in `dhis.conf` is set to *on* along with the following properties: + +- * redis.host *:指定Redis服务器在何处运行。默认为* localhost *。必选 + +- * redis.port *:指定Redis服务器正在侦听的端口。默认为* 6379 *。可选的。 + +- * redis.password *:指定身份验证密码。如果不需要密码,可以将其留空。 + +- * redis.use.ssl *:指定Redis服务器是否启用了SSL。默认为false。可选的。默认为* false *。 + +When Redis is enabled, DHIS2 will automatically assign one of the +running instances as the leader of the cluster. The leader instance will +be used to execute jobs or scheduled tasks that should be run +exclusively by one instance. Optionally you can configure the +*leader.time.to.live.minutes* property in `dhis.conf` to set up how +frequently the leader election needs to occur. It also gives an +indication of how long it would take for another instance to take over +as the leader after the previous leader has become unavailable. The +default value is 2 minutes. Note that assigning a leader in the cluster +is only done if Redis is enabled. An example snippet of the `dhis.conf` +configuration file with Redis enabled and leader election time +configured is shown below. + +```properties +# Redis Configuration + +redis.enabled = on + +# Shared Redis configuration +redis.host = REDIS_HOST +redis.port = REDIS_PORT +redis.password = PASSWORD (Optional, only if enabled on Redis server) +redis.use.ssl = true (Optional, only if enabled on Redis server) + +# Optional, defaults to 2 minutes +leader.time.to.live.minutes=4 +``` + +### 文件文件夹配置 { #files-folder-configuration } + +DHIS 2将在应用程序本身之外存储几种类型的文件, +例如应用程序,保存在数据输入中的文件和用户头像。部署时 +在群集中,这些文件的位置必须在所有实例之间共享。 +在本地文件系统上,位置为: + +``` +{DHIS2_HOME} /文件 +``` + +Here, `DHIS2_HOME` refers to the location of the DHIS 2 configuration file +as specified by the DHIS 2 environment variable, and `files` is the file +folder immediately below. + +有两种方法可以实现共享位置: + +* 使用* AWS S3云文件存储*选项。文件将存储在 +S3存储桶,由群集中的所有DHIS 2实例自动共享。 +请参阅*文件存储配置*部分以获取指导。 +* 设置一个在所有DHIS 2实例之间共享的共享文件夹,并且 +集群中的服务器。在Linux上,可以使用* NFS *(网络文件系统)来实现 +这是一个分布式文件系统协议。注意只有`files` +subfolder under `DHIS2_HOME` should be shared, not the parent folder. + +## 负载均衡器配置 { #install_load_balancing } + +设置了Tomcat实例集群,这是路由的常用方法 +传入Web请求到参与 +集群正在使用*负载均衡器*。负载均衡器将确保 +负载在群集实例之间平均分配。它也会 +检测实例是否不可用,如果是,则停止例程 +对该实例的请求,而是使用其他可用实例。 + +负载平衡可以通过多种方式实现。一个简单的方法是 +使用* nginx *,在这种情况下,您将定义一个* upstream *元素, +枚举后端实例的位置,以后再使用 +* proxy *位置块中的元素。 + +```text +http { + + # Upstream element with sticky sessions + + upstream dhis_cluster { + ip_hash; + server 193.157.199.131:8080; + server 193.157.199.132:8080; + } + + # Proxy pass to backend servers in cluster + + server { + listen 80; + + location / { + proxy_pass http://dhis_cluster/; + } + } +} +``` + +DHIS 2在一定程度上将用户会话的服务器端状态保持不变。 +使用“粘性会话”是避免复制 +服务器会话状态,方法是将请求从同一客户端路由到 +同一台服务器。上游元素中的* ip \ _hash *指令可确保 +这个。 + +请注意,为简洁起见,已省略了几条说明 +上面的例子。请查阅反向代理部分以获取详细指南。 + diff --git a/projects/docs-full-site/zh/MANAGE__HOW-TO__installing-redis-md b/projects/docs-full-site/zh/MANAGE__HOW-TO__installing-redis-md new file mode 100644 index 00000000..daabc003 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__HOW-TO__installing-redis-md @@ -0,0 +1,39 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/how-to/installing-redis.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# HA DHIS2 setup { #ha-dhis2-setup } +## The architecture { #the-architecture } +### Proxy { #proxy } +### dhis2 instances { #dhis2-instances } +### Redis Installation and Configuration: { #redis-installation-and-configuration } +Install Redis From a Package +1. To install Redis using the APT utility, follow the steps below: +``` +sudo add-apt-repository ppa:redislabs/redis +``` +2. Update your Ubuntu packages after adding redis repo +``` +sudo apt update +``` +3. Install Redis using the package installation program. +``` + sudo apt install redis-server +``` +4. Ensure that redis-server is enabled and started +``` +sudo systemctl enable redis-server +sudo systemctl start redis-server +``` +> Note +> +> If the Redislabs repository is added, APT automatically installs the latest +> stable version. We do not recommend installing Redis through the Ubuntu +> default packages, as that might install an older version. + +### +### database { #database } + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__dhisconf-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__dhisconf-md new file mode 100644 index 00000000..60077722 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__dhisconf-md @@ -0,0 +1,382 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/dhis.conf.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# DHIS2 configuration reference (dhis.conf) {#install_dhis2_configuration_reference} + +This section describes the configuration of the DHIS2 system through the +`dhis.conf` configuration file, followed by the configuration parameters stored +in the database (system settings). + + +The following describes the full set of configuration options for the +`dhis.conf` configuration file. The configuration file should be placed in a +directory which is pointed to by a `DHIS2_HOME` environment variable. On linux +systems, if the `DHIS2_HOME` environment variable is not explicitly set, it +defaults to the directory `/opt/dhis2/`. + +> **Note** +> +> You should not attempt to use this configuration file directly, rather use it +> as a reference for the available configuration options. Many of the +> properties are optional. + +```properties +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Mandatory] +# ---------------------------------------------------------------------- + +# Hibernate SQL dialect +connection.dialect = org.hibernate.dialect.PostgreSQLDialect + +# JDBC driver class +connection.driver_class = org.postgresql.Driver + +# Database connection URL +connection.url = jdbc:postgresql:dhis2 + +# Database username +connection.username = dhis + +# Database password (sensitive) +connection.password = xxxx + +# Max size of connection pool (default: 40) +connection.pool.max_size = 40 + +# ---------------------------------------------------------------------- +# Database connection for PostgreSQL [Optional] +# ---------------------------------------------------------------------- + +# Minimum number of Connections a pool will maintain at any given time (default: 5). +connection.pool.min_size=5 + +# Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize +connection.pool.initial_size=5 + +#Determines how many connections at a time will try to acquire when the pool is exhausted. +connection.pool.acquire_incr=5 + +#Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. (default: 7200) +connection.pool.max_idle_time=7200 + +#Number of seconds that Connections in excess of minPoolSize should be permitted to remain idle in the pool before being culled (default: 0) +connection.pool.max_idle_time_excess_con=0 + +#If this is a number greater than 0, dhis2 will test all idle, pooled but unchecked-out connections, every this number of seconds. (default: 0) +connection.pool.idle.con.test.period=0 + +#If on, an operation will be performed at every connection checkout to verify that the connection is valid. (default: false) +connection.pool.test.on.checkout=false + +#If on, an operation will be performed asynchronously at every connection checkin to verify that the connection is valid. (default: on) +connection.pool.test.on.checkin=on + +#Defines the query that will be executed for all connection tests. Ideally this config is not needed as postgresql driver already provides an efficient test query. The config is exposed simply for evaluation, do not use it unless there is a reason to. +connection.pool.preferred.test.query=select 1 + +#Configure the number of helper threads used by dhis2 for jdbc operations. (default: 3) +connection.pool.num.helper.threads=3 + +# Database connection pool type, supported types are 'c3p0' (default), 'hikari', 'unpooled' +db.pool.type = c3p0 + +# ---------------------------------------------------------------------- +# Server [Mandatory] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS 2 instance +# The server.base.url setting refers to the URL at which the system is accessed by end users over the network. +server.base.url = https://play.dhis2.org/dev + +# Enable secure settings if system is deployed on HTTPS, can be 'off', 'on' +server.https = off +# It is strongly recommended to enable the `server.https` setting and deploying DHIS 2 with an encrypted HTTPS protocol. This setting will enable e.g. secure cookies. HTTPS deployment is required when this setting is enabled + +# ---------------------------------------------------------------------- +# System [Optional] +# ---------------------------------------------------------------------- + +# System identifier +system.id = hmis1.country.org + +# System mode for database read operations only, can be 'off', 'on' +system.read_only_mode = off + +# Session timeout in seconds, default is 3600 +system.session.timeout = 3600 + +# SQL view protected tables, can be 'on', 'off' +system.sql_view_table_protection = on + +# SQL view write enabled, can be 'on', 'off' +system.sql_view_write_enabled = off + +# Disable server-side program rule execution, can be 'on', 'off' +system.program_rule.server_execution = on + +# Remote servers which the server is allowed to call, hostnames should end with '/', default is empty +system.remote_servers_allowed = https://server1.org/,https://server2.org/ + +# ---------------------------------------------------------------------- +# Encryption [Optional] +# ---------------------------------------------------------------------- + +# Encryption password (sensitive) +encryption.password = xxxx + +# ---------------------------------------------------------------------- +# File store [Optional] +# ---------------------------------------------------------------------- + +# File store provider, currently 'filesystem' and 'aws-s3' are supported +filestore.provider = filesystem + +# Directory / bucket name, folder below DHIS2_HOME on file system, 'bucket' on AWS S3 +filestore.container = files + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location (not required) +filestore.location = eu-west-1 + +# Public identity / username +filestore.identity = dhis2-id + +# Secret key / password (sensitive) +filestore.secret = xxxx + +# ---------------------------------------------------------------------- +# LDAP [Optional] +# ---------------------------------------------------------------------- + +# LDAP server URL +ldap.url = ldaps://300.20.300.20:636 + +# LDAP manager user distinguished name +ldap.manager.dn = cn=JohnDoe,ou=Country,ou=Admin,dc=hisp,dc=org + +# LDAP manager user password (sensitive) +ldap.manager.password = xxxx + +# LDAP entry distinguished name search base +ldap.search.base = dc=hisp,dc=org + +# LDAP entry distinguished name filter +ldap.search.filter = (cn={0}) + +# ---------------------------------------------------------------------- +# Node [Optional] +# ---------------------------------------------------------------------- + +# Node identifier, optional, useful in clusters +node.id = 'node-1' + +# ---------------------------------------------------------------------- +# Monitoring [Optional] +# ---------------------------------------------------------------------- + +# DHIS2 API monitoring +monitoring.api.enabled = on + +# JVM monitoring +monitoring.jvm.enabled = on + +# Database connection pool monitoring +monitoring.dbpool.enabled = on + +# Hibernate monitoring, do not use in production +monitoring.hibernate.enabled = off + +# Uptime monitoring +monitoring.uptime.enabled = on + +# CPU monitoring +monitoring.cpu.enabled = on + +# ---------------------------------------------------------------------- +# Redis [Optional] +# ---------------------------------------------------------------------- + +# Redis enabled +redis.enabled = true + +# Redis host name +redis.host = localhost + +# Redis port +redis.port = 6379 + +# Redis password +redis.password = xxxx + +# Use SSL for connections to Redis, can be 'on', 'off' (default) +redis.use.ssl = off + +# ---------------------------------------------------------------------- +# Analytics [Optional] +# ---------------------------------------------------------------------- + +# Analytics database JDBC driver class +analytics.connection.driver_class = org.postgresql.Driver + +# Analytics database connection URL +analytics.connection.url = jdbc:postgresql:analytics + +# Analytics database username +analytics.connection.username = analytics + +# Analytics database password +analytics.connection.password = xxxx + +# Analytics unlogged tables. Can be 'on' (default), 'off'. On will improve analytics geeneration performance at the cost of no replication. +analytics.table.unlogged = on + +# ---------------------------------------------------------------------- +# System telemetry [Optional] +# ---------------------------------------------------------------------- + +# System monitoring URL +system.monitoring.url = + +# System monitoring username +system.monitoring.username = + +# System monitoring password (sensitive) +system.monitoring.password = xxxx + +# ---------------------------------------------------------------------- +# System update notifications [Optional] +# ---------------------------------------------------------------------- + +# System update notifications, such as new DHIS 2 releases becoming available +system.update_notifications_enabled = on + +# ---------------------------------------------------------------------- +# Logging [Optional] +# ---------------------------------------------------------------------- + +# Max size for log files, default is 100MB +logging.file.max_size = 200MB + +# Max number of rolling log archive files, default is 0 +logging.file.max_archives = 1 + +# ---------------------------------------------------------------------- +# Log levels [Optional] +# ---------------------------------------------------------------------- + +# DHIS 2 log level (level can be TRACE, DEBUG, INFO, WARN, ERROR) +logging.level.org.hisp.dhis = INFO + +# Spring log level (refers to Java class package names) +logging.level.org.springframework = INFO + +# ---------------------------------------------------------------------- +# App Hub [Optional] +# ---------------------------------------------------------------------- + +# Base URL to the DHIS2 App Hub service +apphub.base.url = https://apps.dhis2.org" +# Base API URL to the DHIS2 App Hub service, used for app updates +apphub.api.url = https://apps.dhis2.org/api + +# ---------------------------------------------------------------------- +# Sessions [Optional] +# ---------------------------------------------------------------------- + +# Number of possible concurrent sessions across different clients per user +max.sessions.per_user = 10 +``` + +Note that the configuration file supports environment variables. This +means that you can set certain properties as environment variables and +have them resolved, e.g. like this where `DB\_PASSWD` is the +name of the environment variable: + +```属性 +connection.password = $ {DB_PASSWD} +``` + +请注意,此文件包含您的DHIS2数据库的密码(以明文形式) +文本,因此需要对其进行保护,以防止未经授权的访问。去做这个, +调用以下命令,以确保仅允许* dhis *用户读取它: + +```sh +chmod 600 dhis.conf +``` + +## 加密配置 { #install_encryption_configuration } + +DHIS2 allows for encryption of data. Enabling it requires some extra +setup. To provide security to the encryption algorithm you will have to set a +password (key) in the `dhis.conf` configuration file through the +*encryption.password* property: + +```属性 +加密密码= xxxx +``` + +The *encryption.password* property is the password (key) used when encrypting +and decrypting data in the database. + +If an encryption password is not defined in `dhis.conf`, a default password will be +used. Note that using the default password does not offer any added security due to +the open source nature of DHIS 2. + +Note that the password must not be changed once it has been set and data has been encrypted, as the data can then no longer be decrypted by the application. + +密码必须至少为** 24个字符长**。混合数字 +建议使用大小写字母。加密密码 +必须保密。 + +> **重要** +> +>如果丢失或更改了加密密码,则无法恢复加密的数据。如果密码丢失,则加密的数据也会丢失。相反,如果 +>密码已泄露。因此,应考虑将密码存储在安全的地方。 + +Note that since the encryption key is stored in the `dhis.conf` configuration file and not +within the database, when moving a database between server environments thorugh a dump and restore, the encryption key must be the same across environments to allow DHIS 2 to +decrypt database content. + +Note that encryption support depends on the *Java Cryptography Extension* (JCE) policy files to be available. These are included in all versions of OpenJDK and Oracle JDK 8 Update 144 or later. + + +## 系统配置 { #install_system_configuration } + +This section covers various system configuration properties. + +```properties +system.read_only_mode = on | off +``` + +将系统设置为只读模式。当您在只读副本数据库上运行 DHIS 2 时,这很有用,以避免 DHIS 2 执行数据库写入操作。可以是`开`或`关`。默认为`关闭`。 + +```properties +system.session.timeout = (seconds) +``` + +Sets the user session timeout in seconds. Default is 3600 seconds (1 hour). + +```properties +system.sql_view_table_protection = on | off +``` + +启用或禁用 SQL 视图的敏感数据库表保护。这将禁止通过 SQL 视图查询包含敏感数据的数据库表。不建议禁用。可以是`开`或`关`。默认为`开`。 + +```properties +system.system.sql_view_write_enabled = on | off +``` + +Enables or disables write permissions for SQL views. This will prohibit SQL view performing underlying writes (query can be a select which requires write permission). Enabling is not recommended. Can be `on` or `off`. Default is `off`. + +```properties +system.program_rule.server_execution = on | off +``` + +启用或禁用服务器端项目规则的执行。这是指具有分配值、发送消息或安排要发送的消息的操作的项目规则。可以是`开`或`关`。默认为`开`。 + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__file-storage-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__file-storage-md new file mode 100644 index 00000000..3508d92a --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__file-storage-md @@ -0,0 +1,84 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/file-storage.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# 文件存储配置 { #install_file_store_configuration } + +DHIS2 is capable of capturing and storing files. By default, files will +be stored on the local file system of the server which runs DHIS2 in a *files* +directory under the `DHIS2_HOME` external directory location. + +The directory files can be changed via the `filestore.container` property in +the `dhis.conf.` You can also configure DHIS2 to store files on cloud-based +storage providers. AWS S3 or S3 compatible object stores are currently +supported. + +To enable cloud-based storage you must define the following additional properties +in your `dhis.conf` file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 'aws-s3' + +# Directory in external directory on local file system or bucket in AWS S3 or S3 API +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +To enable storage in an S3 compatible object store you must define the following additional properties in your dhis.conf file: + +```properties +# File store provider. Currently 'filesystem' (default), 'aws-s3' and 's3' are supported. +filestore.provider = 's3' + +# Directory in external directory on local file system or bucket in AWS S3 +filestore.container = files + +# The following configuration is applicable to cloud storage only (provider 'aws-s3' or 's3') + +# URL where the S3 compatible API can be accessed (only for provider 's3') +filestore.endpoint = http://minio:9000 + +# Datacenter location. Optional but recommended for performance reasons. +filestore.location = eu-west-1 + +# Username / Access key for AWS S3 or S3 APIs +filestore.identity = xxxx + +# Password / Secret key for AWS S3 or S3 APIs (sensitive) +filestore.secret = xxxx +``` + +> **Note** +> +> If you’ve configured cloud storage in `dhis.conf,` all files you upload +> or the files the system generates will use cloud storage. + +These configurations are examples and should be changed to fit your needs. For +a production system the initial setup of the file store should be carefully +considered as moving files across storage providers while keeping the integrity +of the database references could be complex. Keep in mind that the contents of +the file store might contain both sensitive and integral information and +protecting access to the folder as well as making sure a backup plan is in +place is recommended on a production implementation. + +> **Note** +> +> AWS S3 and S3 compatible object stores are the only supported cloud providers +> but more providers could be added. Let us know if you have a use case for +> additional providers. +> + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__google-service-account-configuration-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__google-service-account-configuration-md new file mode 100644 index 00000000..60aa5095 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__google-service-account-configuration-md @@ -0,0 +1,45 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/google-service-account-config.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Google服务帐户配置 { #install_google_service_account_configuration } + +DHIS2 can connect to various Google service APIs. For instance, the +DHIS2 Maps app can utilize the Google Earth Engine API to load Earth Engine map +layers. There are 2 ways to obtain the Google API key. + +## Set it up yourself { #set-it-up-yourself } + +Set up a Google service account and create a private key: + + - 创建一个Google服务帐户。请咨询[Google身份 + 平台](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview) + 文档。 + + - 访问[Google云控制台](https://console.cloud.google.com) + 并转到API Manager \>凭据\>创建凭据\> + 服务帐户密钥。选择您的服务帐户和JSON作为密钥 + 键入并单击创建。 + + - 将JSON密钥重命名为* dhis-google-auth.json *。 + +After downloading the key file, put the `dhis-google-auth.json` file in +the `DHIS2_HOME` directory (the same location as the `dhis.conf` file). +As an example this location could be: + + /home/dhis/config/dhis-google-auth.json + +## Send an email to set up the Google Earth Engine API key { #send-an-email-to-set-up-the-google-earth-engine-api-key } + +If you only intend to use the key for the Google Earth Engine map layers, you +can simply send an email. See the [Google Earth Engine API key documentation](https://docs.dhis2.org/en/topics/tutorials/google-earth-engine-sign-up.html). + +## Bing Maps API key { #install_bing_maps_api_key } + +To enable use of Bing Maps basemap layers, you need to set up the Bing Maps API +key. See [Bing Maps API key documentation](https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key) +for information on setting up the key. + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__ldap-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__ldap-md new file mode 100644 index 00000000..114d3a09 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__ldap-md @@ -0,0 +1,79 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/ldap.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## LDAP配置 { #install_ldap_configuration } + +DHIS2能够使用LDAP服务器进行用户身份验证。 +对于LDAP身份验证,要求在 +每个LDAP条目的DHIS2数据库。 DHIS2用户将用于代表 +权限/用户角色。 + +To set up LDAP authentication you need to configure the LDAP server URL, +a manager user and an LDAP search base and search filter. This +configuration should be done in the DHIS 2 configuration file `dhis.conf`. +LDAP users, or entries, are identified by distinguished names +(DN from now on). An example configuration looks like this: + +```属性 +#LDAP服务器网址 +ldap.url = ldaps://domain.org:636 + +#LDAP管理器条目专有名称 +ldap.manager.dn = cn = johndoe,dc = domain,dc = org + +#LDAP管理员输入密码 +ldap.manager.password = xxxx + +#LDAP基本搜索 +ldap.search.base = dc = domain,dc = org + +#LDAP搜索过滤器 +ldap.search.filter =(cn = {0}) +``` + +LDAP配置属性说明如下: + +- * ldap.url:*要对其进行身份验证的LDAP服务器的URL + 反对。强烈建议使用SSL /加密,以便 + 确保身份验证的安全性。例如,URL是 + * ldaps://domain.org:636 *,其中ldaps是指协议, + * domain.org *是指域名或IP地址,* 636 * + 指端口(LDAPS默认为636)。 +- * ldap.manager.dn:*绑定到LDAP管理器用户是必需的 + 用于用户身份验证过程的LDAP服务器。这个性质 + 指该条目的DN。即这不是将 + 登录DHIS2时需要认证,而不是 + 绑定到LDAP服务器以进行身份验证。 +- * ldap.manager.password:* LDAP管理器用户的密码。 +- * ldap.search.base:*的搜索基础或专有名称 + 搜索基础对象,它定义目录中的位置 + LDAP搜索从此开始。 +- * ldap.search.filter:*用于匹配条目中DN的过滤器 + LDAP目录。 {0}变量将由DHIS2替换 + 用户名,或者为用户定义的LDAP标识符 + 使用提供的用户名。 + +DHIS2将使用提供的用户名/密码并尝试进行身份验证 +针对LDAP服务器条目,然后从中查找用户角色/权限 +相应的DHIS2用户。这意味着用户必须具有 +LDAP目录中的匹配条目以及DHIS2用户,以便 +登录。 + +在身份验证期间,DHIS2将尝试使用以下方式绑定到LDAP服务器: +配置的LDAP服务器URL以及管理员DN和密码。一旦 +绑定完成后,它将使用以下命令在目录中搜索条目 +配置的LDAP搜索库和搜索过滤器。 + +配置的过滤器中的{0}变量将在替换之前 +应用过滤器。默认情况下,它将被提供的 +用户名。您还可以在相关的 +DHIS2用户帐户。可以通过DHIS2用户模块用户来完成 +通过设置“ LDAP标识符”,在添加或编辑屏幕中找到界面 +属性。设置后,LDAP标识符将替换为{0} +过滤器中的变量。 LDAP通用名称时,此功能很有用 +不适合或由于某种原因不能用作DHIS2用户名。 + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__logging-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__logging-md new file mode 100644 index 00000000..db25b447 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__logging-md @@ -0,0 +1,124 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/logging.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +# 应用程序日志记录 { #install_application_logging } + +This section covers application logging in DHIS2. + +## 日志文件 { #log-files } + +The DHIS2 application log output is directed to multiple files and locations. +First, log output is sent to standard output. The Tomcat servlet container +usually outputs standard output to a file under "logs": + +```properties + +/logs/catalina.out + +``` + +Second, log output is written to a "logs" directory under the DHIS2 home +directory as defined by the `DHIS2_HOME` environment variables. There is a main +log file for all output, and separate log files for various background +processes. The main file includes the background process logs as well. The log +files are capped at 50 Mb and log content is continuously appended. +```properties + +/logs/dhis.log +/logs/dhis-analytics-table.log +/logs/dhis-data-exchange.log +/logs/dhis-data-sync.log + +``` + +## 日志配置 { #log-configuration } + +To override the default log configuration you can specify a Java system +property with the name `log4j2.configurationFile` and a value pointing to the +[Log4j version 2](https://logging.apache.org/log4j/2.x/manual/configuration.html) +configuration file at the file system like this: + +```properties +-Dlog4j2.configurationFile=/home/dhis/config/log4j2.properties +``` + +Java system properties can be set e.g. through the *JAVA\_OPTS* environment +variable or in the tomcat startup script. + +A second approach to overriding the log configuration is to specify logging +properties in the `dhis.conf` configuration file. The supported properties are: + +```属性 +#日志文件的最大大小,默认为'100MB' +logging.file.max_size = 250MB + +#最大滚动日志归档文件数,默认为0 +logging.file.max_archives = 2 +``` + +DHIS2 will eventually phase out logging to standard out / catalina.out and as a +result it is recommended to rely on the logs under `DHIS2_HOME`. + +DHIS2 will provide the following context values: + +* `sessionId`: Current user's session ID +* `xRequestID`: An alphanumeric ID as send by the `X-Request-ID` HTTP header + for the currently processed request; empty if not provided + +To use the context variables in the log add them using `-X{}` to your log +pattern as in this example: + + * %-5p %d{ISO8601} %m (%F [%t]) %X{sessionId} %X{xRequestID}%n + +## Log level configuration { #log-level-configuration } + +To set the log level of individual packages you can specify properties on the +format `logging.level.{package-names}` in `dhis.conf`. For example, to set the +log level for the entire Spring Framework to DEBUG and up, you can specify: + +``` +logging.level.org.springframework = DEBUG +``` +To set the log level to DEBUG for the DHIS2 services, you can specify: + +``` +logging.level.org.hisp.dhis = DEBUG +``` + +常见的日志级别是`DEBUG`、`INFO`、`WARN`和`ERROR`。 + +> **Note** +> +> Log level configuration is not supported for the embedded DHIS2 Jetty version. + +## 变更日志 { #install_changelog } + +DHIS2 writes entries to changelogs when certain entities were changed in the +system. The entities fall within two categories: _Aggregate_ and _tracker_. The +_aggregate_ category includes changes to aggregate data values. The _tracker_ +category includes changes to program instances, program temporary ownership +items, tracked entity attribute values and tracked entity data values. + +The changelog for both categories are enabled by default. You can control +whether to enable or disable the changelog by category through the `dhis.conf` +configuration file using the properties described below. Property options are +`on` (default) and `off`. + +The benefit of the changelog is the ability to see changes which have been +performed to the data. The benefits of disabling the changelog is a minor +performance improvement by avoiding the cost of writing changelog items to the +database, and less database storage used. It is recommended to enable +changelog, and great care should be taken if disabling it. + +```属性 +#汇总变更日志,可以为“ on”,“ off” +changelog.aggregate =开启 + +#Tracker changelog,可以为“ on”,“ off” +changelog.tracker =开 +``` + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__monitoring-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__monitoring-md new file mode 100644 index 00000000..1f511370 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__monitoring-md @@ -0,0 +1,396 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/monitoring.md" +revision_date: '2024-03-20' +tags: +- Manage +--- + +# 监控 { #monitoring } + +## 介绍 { #monitoring } + +DHIS2可以导出[Prometheus](https://prometheus.io/)兼容的度量标准,以监视DHIS2节点。 + +本节介绍了使用标准安装过程(`apt-get`)和Docker安装Prometheus和[Grafana](https://grafana.com/)以及配置Grafana以显示DHIS2指标所需的步骤。 + +有关DHIS2实例公开的指标的列表,请参阅[GitHub](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md)上的监视指南。 + +## 设定 { #monitoring_setup } + +下一节将介绍如何设置Prometheus和Grafana,以及如何设置Prometheus从一个或多个DHIS2实例中提取数据。 + +### 在Ubuntu和Debian上安装Prometheus + Grafana { #prometheus } + +- 从官方[下载](https://prometheus.io/download/)页面下载Prometheus。 + +- 确保针对您的操作系统和CPU架构(Linux和amd64)进行过滤。 + +- 确保选择最新的稳定版本,而不是“ rc”版本,因为目前尚不足够稳定。 + +- 通过单击链接或使用`wget`下载档案。 + +``` +wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz +``` + +- 解开拉链 + +``` +tar xvzf prometheus-2.15.2.linux-amd64.tar.gz +``` + +归档文件包含许多重要文件,但这是您需要了解的主要文件。 + +- `prometheus.yml`:Prometheus的配置文件。这是您将要修改的文件,以调整Prometheus服务器,例如,更改抓取间隔或配置自定义警报。 +- `Prometheus`:Prometheus服务器的二进制文件。这是您要执行的命令,用于在Linux机器上启动Prometheus实例。 +- `promtool`:这是一个可以运行以验证Prometheus配置的命令。 + +### 将Prometheus配置为服务 { #prometheus_service } + +- 使用`Prometheus`组创建一个`Prometheus`用户。 + +``` +useradd -rs / bin / false普罗米修斯 +``` + +- 将Prometheus二进制文件移到本地bin目录 + +``` +cd prometheus-2.15.2.linux-amd64 / +cp prometheus promtool / usr / local / bin +chown prometheus:普罗米修斯/ usr / local / bin / prometheus +``` + +- 在Prometheus的`/ etc`文件夹中创建一个文件夹,并将控制台文件,控制台库和Prometheus配置文件移动到此新创建的文件夹中。 + +``` +mkdir / etc / prometheus +cp -R控制台/ console_libraries / prometheus.yml / etc / prometheus +``` + +在根目录中创建一个数据文件夹,其中包含一个prometheus文件夹。 + +``` +mkdir -p /data/prometheus +chown -R prometheus:prometheus /data/prometheus /etc/prometheus/* +``` + +### 创建Prometheus服务 { #prometheus_create_service } + +要创建Prometheus _systemd_服务,请转到`/ lib / systemd / system`文件夹并创建一个名为`prometheus.service`的新systemd文件。 + +``` +cd / lib / systemd / system +touch prometheus.service +``` + +- 编辑新创建的文件,然后将以下内容粘贴到其中: + +```属性 +[单元] +描述=普罗米修斯 +Wants = network-online.target +之后= network-online.target + +[服务] +类型=简单 +用户= prometheus +组=普罗米修斯 +ExecStart = / usr / local / bin / prometheus \ + --config.file = / etc / prometheus / prometheus.yml \ + --storage.tsdb.path =“ / data / prometheus” \ + --web.console.templates = / etc / prometheus / consoles \ + --web.console.libraries = / etc / prometheus / console_libraries \ + --web.listen-address = 0.0.0.0:9090 \ + --web.enable-admin-api + +重启=总是 + +[安装] +WantedBy =多用户目标 +``` + +- 保存文件并在启动时启用Prometheus服务 + +``` +systemctl启用普罗米修斯 +systemctl启动方法 +``` + +- 测试服务是否正在运行 + +``` +系统状态法 + +... +活动:活动(运行中) +``` + +- 现在应该可以通过访问 `http://localhost:9090` 来访问Prometheus UI。 + + +### 设置Nginx反向代理 { #prometheus_nginx } + +Prometheus本身不支持身份验证或TLS加密。如果必须将Prometheus暴露在本地网络的边界之外,则启用身份验证和TLS加密非常重要。以下步骤显示了如何将Nginx用作反向代理。 + +- 安装Nginx(如果尚未安装) + +``` +apt更新 +apt-get安装nginx +``` + +默认情况下,Nginx将开始在默认的`http`端口`80`中侦听HTTP请求。 + +如果机器上已经有一个Nginx实例在运行,并且您不确定它在哪个端口上侦听,请运行以下命令: + +``` +> lsof | grep LISTEN | grep nginx + +nginx 15792根8u IPv4 1140223421 0t0 TCP *:http(LISTEN) +``` + +最后一列显示Nginx使用的端口(`http`->` 80`)。 + +默认情况下,Nginx配置位于`/ etc / nginx / nginx.conf`中。 + +确保` nginx.conf`包含`虚拟主机配置`部分 + +``` +## +#虚拟主机配置 +## + +包括/etc/nginx/conf.d/*.conf; +包括/ etc / nginx / sites-enabled / *; + +``` + +- 在`/ etc / nginx / conf.d`中创建一个名为`prometheus.conf`的新文件 + +``` +触摸/etc/nginx/conf.d/prometheus.conf +``` + +- 编辑新创建的文件,然后将以下内容粘贴到其中: + +``` +服务器{ + 听1234; + + 位置 / { + proxy_pass http:// localhost:9090 /; + } +} +``` + +- 重新启动Nginx并浏览到http:// localhost:1234 + +``` +systemctl重启nginx + +#如果出现启动错误 +journalctl -f -u nginx.service +``` + +- 通过编辑`/ lib / systemd / system / prometheus.service`,将Prometheus配置为反向代理,并将以下参数添加到传递给Prometheus可执行文件的参数列表中。 + +``` +--web.external-url = https:// localhost:1234 +``` + +- 重新启动服务 + +``` +systemctl守护程序重新加载 +systemctl重新启动prometheus + + +#发生错误时 +journalctl -f -u prometheus.service +``` + +### 启用反向代理身份验证 { #prometheus_auth } + +本节说明如何通过反向代理配置基本身份验证。如果您需要其他身份验证机制(SSO等),请检查相关文档。 + +- 确保系统上已安装` htpasswd` + +``` +apt-get install apache2-utils +``` + +- 创建认证文件 + +``` +cd / etc / prometheus +htpasswd -c .credentials管理员 +``` + +选择一个强密码,并确保正确创建了密码文件。 + +- Edit the previously created Nginx configuration file (`/etc/nginx/conf.d/prometheus.conf`), and add the authentication information. + +``` +服务器{ + 听1234; + + 位置 / { + auth_basic“ Prometheus”; + auth_basic_user_file /etc/prometheus/.credentials; + proxy_pass http:// localhost:9090 /; + } +} +``` + +- 重新启动Nginx + +``` +systemctl重启nginx + +#发生错误时 +journalctl -f -u nginx.service +``` + +- `http://localhost:1234` 现在应该提示输入用户名和密码。 + +### 在Ubuntu和Debian上安装Grafana { #grafana } + +- 添加一个`gpg`密钥并从APT回购中安装OSS Grafana软件包 + +```sh +apt-get install -y apt-transport-https + +wget -q -O-“ https://packages.grafana.com/gpg.key” | sudo apt键添加- + +add-apt-repository“ deb https://packages.grafana.com/oss/deb稳定主程序” + +apt-get更新 + +apt-get install grafana +``` + +- 如果系统使用`systemd`,则会自动创建一个新的`grafana-service`。检查`systemd`文件以获得有关Grafana安装的一些见解 + +``` +猫/usr/lib/systemd/system/grafana-server.service +``` + +该文件非常重要,因为它提供有关新安装的Grafana实例的信息。 + +该文件显示: + +The **Grafana server binary** is located at `/usr/sbin/grafana-server`. +The file that defines all the **environment variables** is located at `/etc/default/grafana-server` +The **configuration file** is given via the `CONF_FILE` environment variable. +The **PID of the file** is also determined by the `PID_FILE_DIR` environment variable. +**Logging**, **data**, **plugins** and **provisioning** paths are given by environment variables. + +- 启动服务器 + +``` +systemctl启动grafana服务器 +``` + +- 访问Grafana Web控制台:http:// localhost:3000 + +The default login for Grafana is `admin` and the default password is also `admin`. +You will be prompted to change the password on first access. + +- 将Prometheus配置为Grafana数据源 + +通过左侧菜单中的`配置`>`数据源`,访问数据源面板。 + +点击`添加数据源` + +在下一个窗口中选择Prometheus数据源。 + +根据Prometheus设置配置数据源(使用身份验证,TSL等) + +### 使用Docker安装Prometheus + Grafana { #prometheus_grafana_docker } + +本节介绍如何启动包含Prometheus和Grafana的Prometheus堆栈。 + +配置基于以下项目:https://github.com/vegasbrianc/prometheus + +- 克隆这个Github项目:https://github.com/vegasbrianc/prometheus + +- 使用以下命令启动Prometheus堆栈: + +``` +docker stack deploy -c docker-stack.yml舞会 +``` + +上面的命令,可能会导致以下错误: + +*此节点不是群集管理器。使用“ docker swarm init”或“ docker swarm join”将此节点连接到swarm并重试* + +如果发生这种情况,则需要启动Swarm。您可以使用以下命令行: + +``` +docker swarm初始化--advertise-addr +``` + +一旦该命令成功运行,您就应该能够运行上一个命令而不会出现问题。 + +该堆栈还包含用于Docker监视的Node导出器。如果您对Docker监控不感兴趣,可以在`docker-stack.yml`文件中注释掉相关部分: + +- `node-exporter` +- `cadvisor` + +- 要停止Prometheus堆栈: + +``` +docker stack rm舞会 +``` + +Prometheus配置文件(` prometheus.yml`)位于`prometheus`文件夹中。 + +- 通过以下网址访问Grafana Web控制台:http:// localhost:3000,用户名:`admin`和密码:`foobar` + +### 配置Prometheus从一个或多个DHIS2实例提取指标 { #prometheus_dhis2 } + +在使用Prometheus之前,需要进行基本配置。因此,我们需要创建一个名为`prometheus.yml`的配置文件。 + +> **注意** +> +> Prometheus的配置文件是用YAML编写的,严格禁止使用制表符。如果文件格式错误,Prometheus将不会启动。编辑时要小心。 + +Prometheus的配置文件分为三个部分:`global`,` rule_files`和`scrape_configs`。 + +在全局部分中,我们可以找到Prometheus的常规配置:`scrape_interval`定义Prometheus刮除目标的频率,`evaluation_interval`控制软件评估规则的频率。规则用于创建新的时间序列并用于生成警报。 + +`rule_files`块包含我们希望Prometheus服务器加载的任何规则的位置信息。 + +配置文件的最后一块名为` scape_configs`,其中包含Prometheus监视的资源信息。 + +一个简单的DHIS2 Prometheus监视文件如下例所示: + +```yaml +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: 'dhis2' + metrics_path: '/api/metrics' + basic_auth: + username: admin + password: district + static_configs: + - targets: ['localhost:80'] +``` + +全局的`scrape_interval`设置为15秒,对于大多数用例来说已经足够了。 + +In the `scrape_configs` part we have defined the DHIS2 exporter. +The `basic_auth` blocks contains the credentials required to access the `metrics` API: consider creating an ad-hoc user only for accessing the `metrics` endpoint. + +Prometheus可以与DHIS2在同一服务器上运行,也可以不在同一服务器上运行:在上述配置中,假定Prometheus仅监视一个与Prometheus在同一服务器上运行的DHIS2实例,因此我们使用`localhost`。 + +### 配置DHIS2导出器 { #dhis2_metrics_conf } + +DHIS2中默认情况下禁用监视子系统。 + +必须明确启用每个指标群集,以便导出指标。要将DHIS2配置为导出一个或多个指标,请检查此[document](https://github.com/dhis2/wow-backend/blob/master/guides/monitoring.md#dhis2-monitoring-configuration)。 + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__openid-connect-oidc-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__openid-connect-oidc-md new file mode 100644 index 00000000..027a0467 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__openid-connect-oidc-md @@ -0,0 +1,299 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/oauth.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +# OpenID Connect(OIDC)配置 { #install_oidc_configuration } + +DHIS2 supports the OpenID Connect (OIDC) identity layer for single sign-in (SSO). OIDC is a standard authentication protocol that lets users sign in with an identity provider (IdP) such as for example Google. After users have successfully signed in to their IdP, they will be automatically signed in to DHIS2. + +This section provides general information about using DHIS2 with an OIDC provider, as well as complete configuration examples. + +The DHIS2 OIDC 'authorization code' authentication flow: + +1. A user attempts to log in to DHIS2 and clicks the OIDC provider button on the login page. + +2. DHIS2 redirects the browser to the IdP's login page. + +3. If not already logged in, the user is prompted for credentials. When successfully authenticated, the IdP responds with a redirect back to the DHIS2 server. The redirect includes a unique authorization code generated for the user. + +4. The DHIS2 server internally sends the user's authorization code back to the IdP server along with its own client id and client secret credentials. + +5. The IdP returns an ID token back to the DHIS2 server. DHIS2 server performs validation of the token. + +6. The DHIS2 server looks up the internal DHIS2 user with the mapping claims found in the ID token (defaults to email), authorizes the user and completes the login process. + +## Requirements for using OIDC with DHIS2: { #requirements-for-using-oidc-with-dhis2 } + +### IdP server account { #idp-server-account } + +You must have an admin account on an online identity provider (IdP) or on a standalone server that are supported by DHIS2. + +The following IdPs are currently supported and tested: + +* 谷歌 +* Azure AD +* WSO2 +* Okta (See separate tutorial: [here](#configure-openid-connect-with-okta)) + +There is also a **generic provider** config which can support "any" OIDC compatible provider. + +### DHIS2 user account { #dhis2-user-account } + +You must explicitly create the users in the DHIS2 server before they can log in with the identity provider. Importing them from an external directory such as Active Directory is currently not supported. Provisioning and management of users with an external identity store is not supported by the OIDC standard. + +### 用户的IdP声明和映射 { #idp-claims-and-mapping-of-users } + +To sign in to DHIS2 with OIDC, a given user must be provisioned in the IdP and then mapped to a pre created user account in DHIS2. OIDC uses a method that relies on claims to share user account attributes with other applications. Claims include user account attributes such as email, phone number, name, etc. DHIS2 relies on a IdP claim to map user accounts from the IdP to those in the DHIS2 server. By default, DHIS2 expects the IdP to pass the _email_ claim. Depending on your IdP, you may need to configure DHIS2 to use a different IdP claim. + +If you are using Google or Azure AD as an IdP, the default behavior is to use the _email_ claim to map IdP identities to DHIS2 user accounts. + +> **Note** +> +> In order for a DHIS2 user to be able to log in with an IdP, the user profile checkbox: *External authentication only OpenID or LDAP* must be checked and *OpenID* field must match the claim (mapping claim) returned by the IdP. Email is the default claim used by both Google and Azure AD. + +## 为OIDC配置身份提供者 { #configure-the-identity-provider-for-oidc } + +This topic provides general information about configuring an identity provider (IdP) to use OIDC with DHIS2. This is one step in a multi-step process. Each IdP has slightly different ways to configure it. Check your IdP's own documentation for how to create and configure an OIDC application. Here we refer to the DHIS2 server as the OIDC "application". + +### 重定向网址 { #redirect-url } + +All IdPs will require a redirect URL to your DHIS2 server. +You can construct it using the following pattern: + +``` +(protocol):/(your DHIS2 host)/oauth2/code/PROVIDER_KEY +``` + +Example when using Google IdP: + +``` +https://mydhis2-server.org/oauth2/code/google +``` + +External links to instructions for configuring your IdP: + +* [Google](https://developers.google.com/identity/protocols/oauth2/openid-connect) +* [Azure AD tutorial](https://medium.com/xebia-engineering/authentication-and-authorization-using-azure-active-directory-266980586ab8) + + +## Example setup for Google { #example-setup-for-google } + +1. Register an account and sign in. For example, for Google, you can go to the Google [developer console](https://console.developers.google.com). +2. In the Google developer dashboard, click 'create a new project'. +3. Follow the instructions for creating an OAuth 2.0 client ID and client secret. +4. Set your "Authorized redirect URL" to: `https://mydhis2-server.org/oauth2/code/google` +5. Copy and keep the "client id" and "client secret" in a secure place. + +> **Tip** +> +> When testing on a local DHIS2 instance running for example on your laptop, you can use localhost as the redirect URL, like this: `https://localhost:8080/oauth2/code/google` +> *Remember to also add the redirect URL in the Google developer console* + +### Google dhis.conf example: { #google-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Client id, given to you in the Google developer console +oidc.provider.google.client_id = my client id + +# Client secret, given to you in the Google developer console +oidc.provider.google.client_secret = my client secret + +# [Optional] Authorized redirect URI, the same as set in the Google developer console +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.google.redirect_url = https://mydhis2-server.org/oauth2/code/google + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +``` + +## Example setup for Azure AD { #example-setup-for-azure-ad } + +Make sure your Azure AD account in the Azure portal is configured with a redirect URL like: `(protocol):/(host)/oauth2/code/PROVIDER_KEY`. +To register your DHIS2 server as an "application" in the Azure portal, follow these steps: + +> **Note** +> +> PROVIDER_KEY is the "name" part of the configuration key, example: "oidc.provider.PROVIDER_KEY.tenant = My Azure SSO" +> If you have multiple Azure providers you want to configure, you can use this name form: (azure.0), (azure.1) etc. +> Redirect URL example: https://mydhis2-server.org/oauth2/code/azure.0 + +1. 搜索并选择*应用程序注册*。 +2. 点击*新注册*。 +3. In the *Name* field, enter a descriptive name for your DHIS2 instance. +4. In the *Redirect URI* field, enter the redirect URL as specified above. +5. 点击*注册*。 + +### Azure AD dhis.conf example: { #azure-ad-dhisconf-example } +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# First provider (azure.0): + +# Alias, or name that will show on the login button in the DHIS2 login screen. +oidc.provider.azure.0.tenant = organization name + +# Client id, given to you in the Azure portal +oidc.provider.azure.0.client_id = my client id + +# Client secret, given to you in the Azure portal +oidc.provider.azure.0.client_secret = my client secret + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.azure.0.redirect_url = https://mydhis2-server.org/oauth2/code/azure.0 + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional], defaults to 'email' +oidc.provider.azure.0.mapping_claim = email + +# [Optional], defaults to 'on' +oidc.provider.azure.0.support_logout = on + + +# Second provider (azure.1): + +oidc.provider.azure.1.tenant = other organization name +... +``` + +## Generic providers { #generic-providers } + +The generic provider can be used to configure "any" standard OIDC provider which are compatible with "Spring Security". + +在下面的示例中,我们将使用提供商密钥`helseid`配置挪威政府 _HelseID_ OIDC 提供商。 + +The defined provider will appear as a button on the login page with the provider key as the default name, +or the value of the `display_alias` if defined. The provider key is arbitrary and can be any alphanumeric string, +except for the reserved names used by the specific providers (`google`, `azure.0,azure.1...`, `wso2`). + +> **Note** +> The generic provider uses the following hardcoded configuration defaults: +> **(These are not possible to change)** +> * Client Authentication, `ClientAuthenticationMethod.BASIC`: [rfc](https://tools.ietf.org/html/rfc6749#section-2.3) +> * Authenticated Requests, `AuthenticationMethod.HEADER`: [rfc](https://tools.ietf.org/html/rfc6750#section-2) + +### Generic (helseid) dhis.conf example: { #generic-helseid-dhisconf-example } + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Required variables: +oidc.provider.helseid.client_id = CLIENT_ID +oidc.provider.helseid.client_secret = CLIENT_SECRET +oidc.provider.helseid.mapping_claim = helseid://claims/identity/email +oidc.provider.helseid.authorization_uri = https://helseid.no/connect/authorize +oidc.provider.helseid.token_uri = https://helseid.no/connect/token +oidc.provider.helseid.user_info_uri = https://helseid.no/connect/userinfo +oidc.provider.helseid.jwk_uri = https://helseid.no/.well-known/openid-configuration/jwks +oidc.provider.helseid.end_session_endpoint = https://helseid.no/connect/endsession +oidc.provider.helseid.scopes = helseid://scopes/identity/email + +# [Optional] Authorized redirect URI, the as set in Azure portal +# If your public hostname is different from what the server sees internally, +# you need to provide your full public url, like the example below. +oidc.provider.helseid.redirect_url = https://mydhis2-server.org/oauth2/code/helseid + +# [Optional], defaults to 'on' +oidc.provider.helseid.enable_logout = on + +# [Optional] Where to redirect after logging out. +# If your public hostname is different from what the server sees internally, +# you need to provide your full public URL, like the example below. +oidc.logout.redirect_url = https://mydhis2-server.org + +# [Optional] PKCE support, see: https://oauth.net/2/pkce/), default is 'false' +oidc.provider.helseid.enable_pkce = on + +# [Optional] Extra variables appended to the request. +# Must be key/value pairs like: "KEY1 VALUE1,KEY2 VALUE2,..." +oidc.provider.helseid.extra_request_parameters = acr_values lvl4,other_key value2 + +# [Optional] This is the alias/name displayed on the login button in the DHIS2 login page +oidc.provider.helseid.display_alias = HelseID + +# [Optional] Link to an url for a logo. (Can use absolute or relative URLs) +oidc.provider.helseid.logo_image = ../security/btn_helseid.svg +# [Optional] CSS padding for the logo image +oidc.provider.helseid.logo_image_padding = 0px 1px +``` + +## JWT bearer token authentication { #jwt-bearer-token-authentication } + +Authentication with *JWT bearer tokens* can be enabled for clients which API-based when OIDC is configured. +The DHIS2 Android client is such a type of client and have to use JWT authentication if OIDC login is enabled. + +> **Note** +> +> DHIS2 currently only supports the OAuth2 authorization code grant flow for authentication with JWT, (also known as "three-legged OAuth") +> DHIS2 currently only supports using Google as an OIDC provider when using JWT tokens + + +## 要求 { #requirements } +* Configure your Google OIDC provider as described above +* Disable the config parameter ```oauth2.authorization.server.enabled``` by setting it to 'off' +* Enable the config parameter ```oidc.jwt.token.authentication.enabled``` by setting it to 'on' +* Generate an Android OAuth2 client_id as described [here](https://developers.google.com/identity/protocols/oauth2/native-app#creatingcred) + +## JWT authentication example { #jwt-authentication-example } + +以下`dhis.conf`部分显示了如何为基于 API 的客户端启用 JWT 身份验证的示例。 + +```properties + +# Enables OIDC login +oidc.oauth2.login.enabled = on + +# Minimum required config variables: +oidc.provider.google.client_id = my_client_id +oidc.provider.google.client_secret = my_client_secret + +# Enable JWT support +oauth2.authorization.server.enabled = off +oidc.jwt.token.authentication.enabled = on + +# Define client 1 using JWT tokens +oidc.provider.google.ext_client.0.client_id = JWT_CLIENT_ID + +# Define client 2 using JWT tokens +oidc.provider.google.ext_client.1.client_id = JWT_CLIENT_ID + +``` + +> **Note** +> +> [Check out our tutorial for setting up Okta as a generic OIDC provider.](../../../topics/tutorials/configure-oidc-with-okta.md) + +## Connecting a single identity provider account to multiple DHIS2 accounts { #connecting-a-single-identity-provider-account-to-multiple-dhis2-accounts } + +DHIS2 has the ability to map a single identity provider account to multiple DHIS2 accounts. API calls are available to list the linked accounts and also switch between then. + +When this option is selected, the `openid` database field in the `userinfo` table does not need to be unique. When presented with an `openid` value from the identity provider, DHIS2 will log in the user that most recently logged in. + +The following `dhis.conf` section shows how to enable linked accounts. + +```properties +# Enable a single OIDC account to log in as one of several DHIS2 accounts +linked_accounts.enabled = on +``` + +For instructions on how to list linked accounts and switch between them, see [*Switching between user accounts connected to the same identity provider account* in the Users chapter of the developer documentation.](../../../develop/using-the-api/dhis-core-version-master/users.html#switching-between-user-accounts-connected-to-the-same-identity-provider-account) + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__postgresql-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__postgresql-md new file mode 100644 index 00000000..ccbb2002 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__postgresql-md @@ -0,0 +1,214 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/postgresql.md" +revision_date: '2024-11-01' +tags: +- Manage +--- + +## Postgresql tips and recipes { #postgresql-tips-and-recipes } + +This section contains advice on postgresql database server tuning, performing backups and working with read replicas. + +### PostgreSQL性能调优 { #install_postgresql_performance_tuning } + +Tuning PostgreSQL is required to achieve a high-performing system but +is optional in terms of getting DHIS2 to run. The various settings can be +specified in the `postgresql.conf` configuration file or, preferably, in a specific +file in the `conf.d` directory. The settings is based on allocating 8 GB RAM to +PostgreSQL and should be adjusted accordingly to the environment. + +```sh +须藤nano /etc/postgresql/12/main/postgresql.conf +``` + +Set the following properties. + +```properties +jit = off +``` + +This is important to set for postgresql versions 12 and greater. The jit compiler +functionality causes a significant slowdown on many DHIS2 specific queries, eg +Program Indicator queries. For versions 11 and below, the setting is off by default. + +```属性 +max_connections = 200 +``` + +确定PostgreSQL允许的最大连接数。 + +```properties +shared_buffers = 3GB +``` + +确定应专门分配多少内存 +PostgreSQL缓存。此设置控制共享内核的大小 +应该为PostgreSQL保留的内存。应该设置为 +PostgreSQL专用内存的40%。 + +```properties +work_mem = 24MB +``` + +确定用于内部排序和哈希的内存量 +操作。此设置是针对每个连接,针对每个查询的,因此需要大量内存 +如果将其提高得太高,可能会被消耗掉。正确设置该值 +对于DHIS2聚合性能至关重要。 + +```properties +maintenance_work_mem = 1GB +``` + +确定PostgreSQL可用于维护的内存量 +创建索引,运行真空,添加外部文件等操作 +键。增大此值可能会提高索引创建的性能 +在分析生成过程中。 + +```properties +temp_buffers = 16MB +``` + +Sets the maximum number of temporary buffers used by each database +session. These are session-local buffers used only for access to temporary +tables. + +```properties +effective_cache_size = 8GB +``` + +An estimate of how much memory is available for disk caching by the +operating system (not an allocation) and is used by PostgreSQL to +determine whether a query plan will fit into memory or not. Setting it +to a higher value than what is really available will result in poor +performance. This value should be inclusive of the `shared_buffers` +setting. PostgreSQL has two layers of caching: The first layer uses the +kernel shared memory and is controlled by the shared\_buffers setting. +PostgreSQL delegates the second layer to the operating system disk cache +and the size of available memory can be given with the +`effective_cache_size` setting. + +```属性 +checkpoint_completion_target = 0.8 +``` + +设置WAL写过程中用于缓冲的内存。 +增大此值可能会提高大量写入系统的吞吐量。 + +```属性 +sync_commit =关 +``` + +指定事务提交是否将等待WAL记录 +是否将其写入磁盘,然后再返回客户端。设定这个 +关闭将大大提高性能。这也意味着那里 +交易之间的轻微延迟被报告为成功 +客户端,它实际上是安全的,但是数据库状态不能为 +已损坏,这是性能密集型和 +像DHIS2这样的重写入系统。 + +```properties +wal_writer_delay = 10s +``` + +指定WAL写操作之间的延迟。将此设置为较高 +价值可能会提高大量写入系统的性能,因为 +一次刷新到磁盘就可以执行许多写操作。 + +```属性 +random_page_cost = 1.1 +``` + +*仅SSD。*设置查询计划程序对非连续获取的磁盘页面的成本的估计。较低的值将导致系统比顺序扫描更喜欢索引扫描。对于在SSD上运行的数据库或在内存中大量缓存的数据库,较低的值有意义。默认值为4.0,这对于传统磁盘而言是合理的。 + +```属性 +max_locks_per_transaction = 96 +``` + +指定为每个事务分配的对象锁的平均数量。设置该参数主要是为了允许完成涉及大量表的升级例程。 + +```properties +track_activity_query_size = 8192 +``` + +Specifies the number of bytes reserved to track the currently executing command for each active session. Useful to view the full query string for monitoring of currently running queries. + +通过调用以下命令来重新启动PostgreSQL: + +```sh +sudo systemctl restart postgresql +``` + +## 读取副本数据库配置 { #install_read_replica_configuration } + +DHIS 2允许利用主数据库的只读副本 +(主DHIS 2数据库)。只读副本的目的是为了增强 +数据库读取查询的性能并扩展容量 +超越了单个数据库的限制。大量读取操作,例如 +因为分析和事件查询将从中受益。 + +The configuration requires that you have created one or more replicated +instances of the master DHIS 2 database. PostgreSQL achieves this +through a concept referred to as *streaming replication*. Configuring +read replicas for PostgreSQL is not covered in this guide. + +Read replicas can be defined in the `dhis.conf` configuration file. You +can specify up to 5 read replicas per DHIS 2 instance. Each read replica +is denoted with a number between 1 and 5. The JDBC connection URL must +be defined per replica. The username and password can be specified; if +not, the username and password for the master database will be used +instead. + +The configuration for read replicas in `dhis.conf` looks like the below. +Each replica is specified with the configuration key *readN* prefix, +where N refers to the replica number. + +```属性 +#读取副本1的配置 + +#数据库连接URL,用户名和密码 +read1.connection.url = jdbc:postgresql://127.0.0.11/dbread1 +read1.connection.username = dhis +read1.connection.password = xxxx + +#读取副本2的配置 + +#数据库连接URL,用户名和密码 +read2.connection.url = jdbc:postgresql://127.0.0.12/dbread2 +read2.connection.username = dhis +read2.connection.password = xxxx + +#读取副本3的配置 + +#数据库连接URL,后退到主用户名和密码 +read3.connection.url = jdbc:postgresql://127.0.0.13/dbread3 +``` + +请注意,您必须重新启动servlet容器才能更改 +生效。 DHIS 2将自动在 +读取副本。副本的顺序没有任何意义。 + +## 使用PostgreSQL数据库 { #install_working_with_the_postgresql_database } + +Common operations when managing a DHIS2 instance are dumping and restoring databases. Note that when making backups of the DHIS 2 database, it is good practise to exclude tables which are generated by the system, such as the resource and analytics tables. To make a dump (copy) of your database to a file, you can invoke the following command. + +```bash +pg_dump {database} -U {user} -T "_*" -T "analytics*" -f {filename} +``` +In the following example, the database name is `dhis2`, the user is `dhis` and the output filename is `dhis2.sql`: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" -f dhis2.sql +``` + +It is good practice to compress the If you want to compress the output file with `gzip`, which can be done like this: + +```bash +pg_dump dhis2 -U dhis -T "analytics*" -T "_*" | gzip > dhis2.sql.gz +``` + +要在另一个系统上恢复数据库副本,您首先需要创建一个空数据库,如安装部分所述。如果您创建了压缩版本,还需要`gunzip`副本。要恢复副本,您可以调用以下命令: + +```bash +psql -d dhis2 -U dhis -f dhis2.sql +``` + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__reverse-proxy-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__reverse-proxy-md new file mode 100644 index 00000000..6e05e225 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__reverse-proxy-md @@ -0,0 +1,361 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/reference/reverse_proxy_nginx.md" +revision_date: '2024-01-30' +tags: +- Manage +--- + +## 反向代理配置 { #install_reverse_proxy_configuration } + +反向代理是代表服务器运行的代理服务器。使用 +反向代理与Servlet容器结合使用是可选的,但 +有很多优点: + + - 可以将请求映射并传递到多个servlet容器。 + 这提高了灵活性,并使其更易于运行 + 同一台服务器上的DHIS2实例。这也使得 + 在不影响客户端的情况下更改内部服务器设置。 + + - DHIS2应用程序可以作为非root用户在端口上运行 + 不同于80,这减少了会话的后果 + 劫持。 + + - 反向代理可以充当单个SSL服务器并进行配置 + 检查恶意内容请求,日志请求和 + 响应并提供不敏感的错误消息,这将 + 提高安全性。 + +### 基本的Nginx设置 { #install_basic_nginx_setup } + +由于以下原因,我们建议使用[nginx](http://www.nginx.org)作为反向代理 +其低内存占用和易用性。要安装,请调用 +以下: + + sudo apt-get install -y nginx + +现在可以使用以下命令启动,重新加载和停止nginx +命令: + + sudo /etc/init.d/nginx开始 + 须藤/etc/init.d/nginx重新加载 + sudo /etc/init.d/nginx停止 + +Now that we have installed nginx we will now continue to configure +regular proxying of requests to our Tomcat instance, which we assume +runs at `http://localhost:8080`. To configure nginx you can open the +configuration file by invoking: + + 须藤nano /etc/nginx/nginx.conf + +nginx配置围绕代表以下内容的块层次结构构建 +http,服务器和位置,其中每个块都从父级继承设置 +块。以下代码段将nginx配置为通过代理 +(重定向)来自端口80的请求(该端口是nginx监听的端口 +默认情况下)到我们的Tomcat实例。包括以下配置 +在nginx.conf中: + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + server { + listen 80; + client_max_body_size 10M; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +现在,您可以通过* http:// localhost *访问DHIS2实例。自从 +已经设置了反向代理,我们可以通过使Tomcat来提高安全性 +只监听本地连接。在* / conf / server.xml *中,您可以添加一个 +连接器元素的* address *属性值为* localhost * +对于HTTP 1.1像这样: + +```xml + +``` + +### 使用nginx {#install_enabling_ssl_on_nginx}启用SSL { #install_enabling_ssl_on_nginx } + +为了提高安全性,建议配置服务器 +运行DHIS2以通过加密连接与客户端进行通信 +并使用受信任的证书向客户端标识自己。这个可以 +通过SSL(一种加密通信协议)来实现 +在TCP / IP上运行。首先,安装所需的* openssl *库: + + sudo apt-get install -y openssl + +To configure nginx to use SSL you will need a proper SSL certificate +from an SSL provider. The cost of a certificate varies a lot depending +on encryption strength. An affordable certificate from [Rapid SSL +Online](http://www.rapidsslonline.com) should serve most purposes. To +generate the CSR (certificate signing request) you can invoke the +command below. When you are prompted for the *Common Name*, enter the +fully qualified domain name for the site you are + securing. + + openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr + +收到证书文件(.pem或.crt)后,您将 +需要将其与生成的server.key文件放在一起 +nginx可以到达的位置。一个好的位置可以是 +与您的nginx.conf文件所在的目录相同。 + +Below is an nginx server block where the certificate files are named +server.crt and server.key. Since SSL connections usually occur on port +443 (HTTPS) we pass requests on that port (443) on to the DHIS2 instance +running on `http://localhost:8080`. The first server block will rewrite +all requests connecting to port 80 and force the use of HTTPS/SSL. This +is also necessary because DHIS2 is using a lot of redirects internally +which must be passed on to use HTTPS. Remember to replace +*\* with the IP of your server. These blocks should replace +the one from the previous section. + +```text +http { + gzip on; # Enables compression, incl Web API content-types + gzip_types + "application/json;charset=utf-8" application/json + "application/javascript;charset=utf-8" application/javascript text/javascript + "application/xml;charset=utf-8" application/xml text/xml + "text/css;charset=utf-8" text/css + "text/plain;charset=utf-8" text/plain; + + # HTTP server - rewrite to force use of SSL + + server { + listen 80; + rewrite ^ https://$request_uri? permanent; + } + + # HTTPS server + + server { + listen 443 ssl; + client_max_body_size 10M; + + ssl on; + ssl_certificate server.crt; + ssl_certificate_key server.key; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 10m; + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + # Proxy pass to servlet container + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + } + } +} +``` + +请注意最后一个`https`标头值,该值是通知 +servlet容器,该请求通过HTTPS发出。为了 +Tomcat还需要使用HTTPS正确生成`Location` URL头 +在Tomcat`server.xml`文件中向连接器添加其他两个参数: + +```xml + +``` + +### 使用Nginx启用缓存 { #install_enabling_caching_ssl_nginx } + +要求提供报告,图表,地图和其他与分析相关的资源 +通常会花费一些时间来响应,并且可能会占用大量服务器 +资源。为了缩短响应时间,请减少 +服务器并隐藏潜在的服务器停机时间,我们可以引入缓存代理 +在我们的服务器设置中。缓存的内容将存储在目录中 +/ var / cache / nginx,最多将分配250 MB的存储空间。 Nginx的 +将自动创建此目录。 + +```text +http { + .. + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dhis:250m inactive=1d; + + + server { + .. + + # Proxy pass to servlet container and potentially cache response + + location / { + proxy_pass http://localhost:8080/; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_buffer_size 128k; + proxy_buffers 8 128k; + proxy_busy_buffers_size 256k; + proxy_cookie_path ~*^/(.*) "/$1; SameSite=Lax"; + proxy_cache dhis; + } + } +} +``` + +> **重要** +> +>请注意,服务器端缓存会缩短DHIS2安全性 +>从某种意义上说是功能,这些请求命中了服务器端缓存 +>将直接从DHIS2控制范围之外的缓存中提供 +>和servlet容器。这意味着请求URL可以是 +>猜测并由未经授权的用户从缓存中检索报告。 +>因此,如果您捕获敏感信息,请设置服务器端 +>不建议使用缓存。 + +### 使用Nginx进行速率限制 { #install_rate_limiting } + +DHIS 2中的某些Web API调用,如`analytics` API,是计算密集型的。因此,最好对这些API进行速率限制,以允许系统的所有用户充分利用服务器资源。速率限制可以通过`nginx`实现。有多种实现速率限制的方法,这旨在记录基于nginx的方法。 + +The below nginx configuration will rate limit the `analytics` web API, and has the following elements at the *http* and *location* block level (the configuration is shortened for brevity): + +```text +http { + .. + limit_req_zone $binary_remote_addr zone=limit_analytics:10m rate=5r/s; + + server { + .. + + location ~ ^/api/(\d+/)?analytics(.*)$ { + limit_req zone=limit_analytics burst=20; + proxy_pass http://localhost:8080/api/$1analytics$2$is_args$args; + .. + } + } +} +``` + +配置的各个元素可以描述为: + +- * limit_req_zone $ binary_remote_addr *:速率限制是针对每个请求IP进行的。 +- * zone = limit_analytics:20m *:Analytics API的速率限制区域,最多可容纳10 MB的请求IP地址。 +- * rate = 20r / s *:每个IP每秒被授予5个请求。 +- *location ~ ^/api/(\d+/)?analytics(.\*)$*: Requests for the analytics API endpoint are rate limited. +- *burst=20*: Bursts of up to 20 requests will be queued and serviced at a later point; additional requests will lead to a `503`. + +有关完整说明,请查阅[nginx文档](https://www.nginx.com/blog/rate-limiting-nginx/)。 + +### 使用Nginx使资源可用 { #install_making_resources_available_with_nginx } + +在某些情况下,希望公开发布某些资源 +无需身份验证即可在Web上使用。一个例子是 +当您想在Web API中进行与数据分析相关的资源时 +在Web门户中可用。以下示例将允许访问 +基本的图表,地图,报告,报告表和文档资源 +通过将* Authorization * HTTP标头注入 +请求。它将从请求中删除Cookie标头, +从响应中获取Set-Cookie标头,以避免更改 +当前登录的用户。建议为此创建一个用户 +目的仅给出所需的最低权限。授权 +值可以通过Base64编码,并在用户名后附加一个 +冒号和密码,并以“ Basic”作为前缀,更准确地说是“ Basic” +base64 \ _encode(username:password)“。它将检查使用的HTTP方法 +用于请求并返回* 405方法不允许*(如果不是GET,则为其他方法) +检测到。 + +为此类公共用户设置一个单独的域可能是有利的 +使用这种方法时。这是因为我们不想更改 +已登录用户访问公共帐户时的凭据 +资源。例如,当您的服务器部署在somedomain.com上时, +您可以在api.somedomain.com上设置专用的子域,并指向URL +从您的门户到此子域。 + +```text +http { + .. + + server { + listen 80; + server_name api.somedomain.com; + + location ~ ^/(api/(charts|chartValues|reports|reportTables|documents|maps|organisationUnits)|dhis-web-commons/javascripts|images|dhis-web-commons-ajax-json|dhis-web-mapping|dhis-web-visualizer) { + if ($request_method != GET) { + return 405; + } + + proxy_pass http://localhost:8080; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header Authorization "Basic YWRtaW46ZGlzdHJpY3Q="; + proxy_set_header Cookie ""; + proxy_hide_header Set-Cookie; + } + } +} +``` + + +### Block specific Android App versions with nginx { #install_block_android_versions } + +In some scenarios the system administrator might want to block certain Android clients based on its DHIS2 App version. For example, if the users on the field have not updated their Android App version to a specific one and the system administrator wants to block their access to force an update; or completely the opposite scenario when the system administrator wants to block new versions of the App as they have not been yet tested. This can be easily implemented by using specific *User-Agent* rules in the `nginx` configuration file. + +```text +http { + + server { + listen 80; + server_name api.somedomain.com; + + # Block the latest Android App as it has not been tested + if ( $http_user_agent ~ 'com\.dhis2/1\.2\.1/2\.2\.1/' ) { + return 403; + } + + # Block Android 4.4 (API is 19) as all users should have received new tablets + if ( $http_user_agent ~ 'com\.dhis2/.*/.*/Android_19' ) { + return 403; + } + } +} +``` + +> **Note** +> For the implementation of the method described above note the following: +> * Before version 1.1.0 the *User-Agent* string was not being sent. +> * From version 1.1.0 to 1.3.2 the *User-Agent* followed the pattern Dhis2/AppVersion/AppVersion/Android_XX +> * From version 2.0.0 and above the *User-Agent* follows the pattern com.dhis2/SdkVersion/AppVersion/Android_XX +> * Android_XX refers to the Android API level i.e. the Android version as listed [here](https://developer.android.com/studio/releases/platforms). +> * nginx uses [PCRE](http://www.pcre.org/) for Regular Expression matching . + diff --git a/projects/docs-full-site/zh/MANAGE__REFERENCE__server-tools-variables-md b/projects/docs-full-site/zh/MANAGE__REFERENCE__server-tools-variables-md new file mode 100644 index 00000000..d7026299 --- /dev/null +++ b/projects/docs-full-site/zh/MANAGE__REFERENCE__server-tools-variables-md @@ -0,0 +1,244 @@ +--- +edit_url: "https://github.com/dhis2/dhis2-server-tools/blob/main/docs/Variables.md" +revision_date: '2024-11-04' +tags: +- Manage +--- + +# Server Tools Variables { #dhis2_server_tools_variables } +Ansible uses variables to handle system differences. In dhis2-server-tools, +specific variables are defined PostgreSQL, dhis2 instance, proxy, and monitoring systems. While you +can define variables in various places like playbooks, roles, or host files, we +mainly define them in the `dhis2-server-tools/deploy/inventory/hosts` file, +created from `hosts.template.` Customize these variables to fit your environment. + +In inventory hosts file, hosts are grouped in [group_names], in our case we +have `[databases],` `[instances],` `[web]` and `[monitor]` groups .Variables not assigned +to any specific group belong to the `[all]` group. To tie +variables to a particular group, place them under `[group_name:vars]`, e.g , +`[instances:vars]`. If you want a variable to apply to a specific host, append +it to the host line. For example, to add `database_host` and `dhis2_version` to +the dhis host in the `instances` group, use the following format: + +``` +[instances] +dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39 +``` + Another option is to create a file in the `inventory/host_vars/` directory + with the same name as the host in your `inventory/hosts` file. The benefit of + this approach is that you can encrypt the file using `ansible-vault` for added + security. Any variables you define in the `host_vars` directory will take + precedence over those in `inventory/hosts` file + +``` +touch inventory/host_vars/dhis +vim inventory/host_vars/dhis +``` +Add the variables using `yaml` syntax as its shown below + +``` +ansible_host: 172.19.2.11 +database_host: postgres +dhis2_version: 2.39 +``` + +## Here's the list of available configuration parameters and their default values { #heres-the-list-of-available-configuration-parameters-and-their-default-values } +### General Variables { #dhis2_server_tools_general_variables } +--- + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
timezonelist all available timezones with timedatectl + list-timezones
Examples
+
  • Europe/Oslo +
  • Africa/Nairobi
ansible_connectionDepends on the Architecture you are + adopting, default is lxd
Options
+
  • lxd ← (default), for single server architecture
  • ssh ← + Distributed Architecture
lxd_networkHere you define a network which your containers will be created into, + default is 172.19.2.1/24
lxd_bridge_interfaceThe name of the created lxd bridge, default is lxdbr1
+ +### Instance Variables { #dhis2_server_tools_instance_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
create_db Whether the database should be created or not
Choices: +
  • True ← (default)
  • False
database_host Host to use as your database server
Default=postgres
dhis2_war_file Source for your dhis2 war file, can either be remote or available + locally as file
Examples
+
  • "https://releases.dhis2.org/2.38/dhis2-stable-2.38.0.war" +
  • /full/path/for/your/dhis2.war
dhis2_version You can specify just the major version of dhis2 and it will get its + latest stable iteration from https://releases.dhis2.org.
If your + have both dhis2_war_file and dhis2_version + defined, dhis2_war_file wins, +
Examples
  • 2.39 +
  • 2.38
heap_memory_size This is tomcat Java Heap Memory Size,
Example
+ heap_memory_size=2G
+ +### PostgreSQL Variables { #dhis2_server_tools_postgresql_variables } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
postgresql_version Version for PostgreSQL to be installed, in a fresh install, the is default: `16`
pg_max_connections Maximum allowed connections to the database
pg_shared_buffers Shared Buffers for postgresql,
recommended 0.25 x Available_RAM for PostgreSQL
pg_work_mem PostgreSQL work memory,
Recommended = (0.25 x Available_RAM)/max_connections
pg_maintenance_work_mem As much as you can reasonably afford. Helps with index generation during the analytics generation task
pg_effective_cache_size Approx 80% of (Available RAM - maintenance_work_mem - max_connections*work_mem)
+ +### Proxy Variables { #dhis2_server_tools_proxy_variables} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableComments
fqdn This is the domain used to access dhis2 application
Strictly required for Letsencrypt to work
emailStrictly required if you are using Letsencrypt
proxy Proxy software of your choice
Options
+
  • nginx ← (default)
  • apache2
SSL_TYPE This parameter enables to specify whether you'd want to use + letsencrypt or your own customssl + certificate,
Options
  • letsencrypt ← + (default)
  • customssl
munin_base_path Base path for accessing munin, e.g: + https://domain.example.com/munin_base_path defaults to munin +
munin_usersA list of users with their corresponding passwords allowed to login to munin: + Example: +
+   
+munin_users:
+  - name: admin
+    password: admin_password
+  - name: user2
+    password: user2_passsword
+  
+  
+ Default username and password is admin and district respectively. +
+ + +### backup related Variables { #backup-related-variables } +These variables pertain to the PostgreSQL database host and contain sensitive +information. It is advisable to secure them using ansible-vault encryption. You +have the flexibility to define these variables in different locations, but it +is recommended to place them in the host file within the host_vars directory, +as shown below: + +`dhis2-server-tools/deploy/inventory/host_vars/postgres` + + + + + + + + + + + + + + + + + + + + + +
VariableComments
s3_access_key This is a unique identifier for cloud user or programmatic entity + (like an application) that needs to interact with object storage.
s3_secret_key This is a secret piece of information that is associated with the + Access Key. It is used to digitally sign requests made to object storage + and maybe other services. This Secret Access Key must be kept confidential, + as it's used to authenticate and authorize requests on behalf of the Access + Key.
s3_cluster_id Cluster URL for Object Storage is unique to each data center, + different data-centers have unique cluster IDS, refer to + Linode Object Storage Guide + for Linode.
s3_bucket This is a container or storage resource for storing files in the + context of object storage +
+ diff --git a/projects/docs-full-site/zh/MANAGE__manage-md b/projects/docs-full-site/zh/MANAGE__manage-md index 317cbc27..5415dcb8 100644 --- a/projects/docs-full-site/zh/MANAGE__manage-md +++ b/projects/docs-full-site/zh/MANAGE__manage-md @@ -1,11 +1,119 @@ --- -edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/sysadmin/index.md" -revision_date: '2021-06-14' +edit_url: "https://github.com/dhis2/dhis2-docs/blob/new_install_docs/src/sysadmin/index.md" +revision_date: '2024-11-04' tags: - 管理 --- -# 管理 { #manage } +# 安装 { #installation } -本节包含与 DHIS 2 系统的管理和维护相关的信息。 +This section contains information related to the installation, management and maintenance of DHIS2 systems. It provides information on how to install DHIS2 in various contexts, including online central server, offline local network or standalone application. + +## 介绍 { #install_introduction } + +--- + +DHIS2 runs on all platforms for which there exists a Java JRE, which includes most popular operating systems such as Linux, Windows and Mac. DHIS2 is packaged as a standard Java Web Archive (WAR-file) and thus runs on any Servlet containers such as Tomcat and Jetty. Its writes its data to a PostgreSQL database. Its recommended that you run it on a Supported Ubuntu LTS system, + +本章提供了设置上述技术堆栈的指南。 +但是,应将其作为起步和运行的指南,而不是 +作为上述环境的详尽文档。我们提到 +到官方的Ubuntu,PostgreSQL和Tomcat文档进行深入了解 +阅读。 + +## 服务器规格 { #install_server_specifications } + +--- + +DHIS2 is a database intensive application and requires that your server has an appropriate amount of RAM, a good number of CPU cores and a fast disk, preferably an solid state disk (ssd). These recommendations should be considered as rules-of-thumb and not exact measures. DHIS2 scales linearly on the amount of RAM and number of CPU cores so the more you can afford, the better the application will perform. + +- _RAM_ + : At least 8 GB for a small instance, 16 GB for a medium instance, 64 GB or more for a large instance. +- _CPU_ + : 4 CPU cores for a small instance, 8 CPU cores for a medium instance, 16 CPU cores or more for a large instance. +- _Disk_ + : SSD is recommended as the storage device. Minimum read speed is 150 Mb/s, 200 Mb/s is good, 350 Mb/s or better is ideal. At least 100 GB storage space is recommended, but will depend entirely on the amount of data which is contained in the data value tables. Analytics tables require a significant amount of storage space. Plan ahead and ensure that your server can be upgraded with more disk space as needed. On linux, you can test disk latency and throughput with below commands + + ``` + # disk latency + dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync + + # disk throughput + dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync + + # remove /tmp/test1.img after testing + rm -v -i /tmp/test1.img + ``` + +## 软件需求 { #install_software_requirements } + +--- + +更高版本的DHIS2需要以下软件版本才能运行。 + +- An operating system for which a Java JDK or JRE version 8 ,11 or 17 exists. Ubuntu LTS release is recommended. +- Java JDK. OpenJDK is recommended. + + Table: DHIS2 JDK compatibility + + | DHIS2 version | JDK recommended | JDK required | + | ------------- | --------------- | ------------ | + | 2.41 | 17 | 17 | + | 2.40 | 17 | 11 | + | 2.38 | 11 | 11 | + | 2.35 | 11 | 8 | + | pre 2.35 | 8 | 8 | + +- PostgreSQL database version 13 or later. A later PostgreSQL 16 is recommended. +- PostGIS database extension version 2.2 or later, 3 is recommended. +- Tomcat servlet container version 8.5.50 or 9, 9 is recommended. +- 仅群集设置(可选):Redis数据存储版本4或更高版本。 + +So a minimal installation of DHIS2 would consist of just the tomcat server (with DHIS2 war file deployed) and a PostgreSQL database. This type of minimal setup can be suitable for a developer or experimental setup. For a production deployment there are many other factors to take into account regarding maintenance, monitoring, security, scalability and performance. + +## Install approaches { #install_install_approaches } + +--- + +There are many ways to get DHIS2 up and running. How you choose to install will depend on which skills and tools you are familiar with and whether the installation is for production or experimental use. We have a number of different guides which emphasize different styles of implementation. Regardless of the implementation approach you adopt, you will want to familiarize yourself with the additional reference material we provide regarding database management, reverse proxy setup, system monitoring, upgrades etc. + +#### [Automated Install](#getting_started_linux_automated_install) { #install_automated_install_on_linux } + +These tools are ansible based [dhis2-server-tools](https://github.com/dhis2/dhis2-server-tools). This tool set provides a set of ansible playbooks to automate the installation and management of DHIS2 and supporting components. It is geared towards production environments with the aim of addressing the most critical security and monitoring considerations out-of-the-box. + +#### [Manual Install](#installation_on_linux_server) { #manual-installinstallation_on_linux_server } + +This guide provides step-by-step instructions for setting up DHIS2 on Ubuntu 22.04. For production environments, however, we highly recommend using an automated installation to ensure consistency and ease of management. Manual setup is ideal for learning and understanding how different DHIS2 components are setup and how they interconnect. + +### Running DHIS2 on docker { #running-dhis2-on-docker } + +#### Important Considerations for Deploying DHIS2 with Docker { #important-considerations-for-deploying-dhis2-with-docker } + +While Docker containers offer a potential method for running DHIS2 applications, there are important factors to consider before implementing this approach in production environments. + +##### Limited Production Use Cases: { #limited-production-use-cases } + +Currently available Docker images for DHIS2 may not be suitable for production deployments. These images haven't undergone extensive testing in real-world production settings. While they might function adequately for development purposes, their stability and performance under demanding workloads cannot be guaranteed for mission-critical applications. + +##### User Awareness and Testing: { #user-awareness-and-testing } + +The decision to utilize DHIS2 within Docker containers for production environments rests solely with the user. If you choose to proceed with this approach, comprehensive security, performance, and stress testing are absolutely essential. Rigorous testing will help ensure the stability and reliability of your DHIS2 application in a production setting. + +For those interested in exploring DHIS2 with Docker, the following link provides information on running DHIS2 in a Docker container: + +[ Running DHIS2 on Docker ](https://github.com/dhis2/dhis2-core/blob/master/docker/DOCKERHUB.md) + +### Running DHIS2 on Kubernetes { #running-dhis2-on-kubernetes } + +#### Leveraging Kubernetes for DHIS2 Deployment { #leveraging-kubernetes-for-dhis2-deployment } + +Kubernetes, a leading open-source container orchestration platform, offers a compelling approach to automate the deployment, scaling, and management of containerized applications. + +> **NOTE** +> +> Kubernetes would still require dhis2 docker images and thus reservations made above regarding Limited Production Use Cases still holds. + +#### Container Image Selection: { #container-image-selection } + +While Kubernetes is agnostic to the container image format, successful DHIS2 deployment relies on readily available container images. Currently, available Docker images for DHIS2 are primarily intended for development environments. These images may not have undergone rigorous testing for production workloads, potentially impacting stability and performance. diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md index 98c70a5a..5f59c66f 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-installation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 安装BNA应用程序 { #installing-the-bna-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md index 2166f381..57c171f4 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INSTALLATION-AND-CONFIGURATION__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-maintenance.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用程序维护 { #bna-app-maintenance } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md index 2606928e..bcc1538f 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-analysis-and-interpretation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 分析和解释 { #bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md index ab4883f9..2f2d89aa 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-architecture.md" revision_date: '2022-03-10' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用架构 { #bna-app-architecture } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md index daf588de..6bf76278 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__dashboard-and-demo-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bottleneck-analysis-dashboard-and-demo-server.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 瓶颈分析仪表板和演示服务器{ #bottleneck-analysis-dashboard-and-demo-server } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md index 58b3f6f2..f3b930d9 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__navigating-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/navigating-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用干预配置{ #bna-app-interventions-configurations } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md index d3e664f1..f8be9d38 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__INTRODUCTION-AND-USAGE__visualization-operations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/visualization-operations.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 可视化操作{ #visualization-operations } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md index cf2c9010..10d360f4 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__adopting-the-bna-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/adopting-the-use-of-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 采用 BNA 应用程序{ #adopting-the-use-of-the-bna-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md index db5e6ac4..be993e1e 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__capacity-building-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/capacity-building.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 能力建设 { #capacity-building } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md index d5b646d4..070c3cae 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__end-user-training-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/end-user-training.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 最终用户培训 { #end-user-training } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md index 6e4e25ef..a7499dd9 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__implementation-overview-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/guide-to-bna-app-implementation.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用实施指南 { #guide-to-bna-app-implementation } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md index c641cf7b..ef5ae93f 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__integration-concepts-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/integration-concepts-for-the-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用程序的集成概念。 { #integration-concepts-for-the-bna-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md index 94ae825d..c8e2a7da 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__opportunities-and-challenges-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/opportunities-and-challenges.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 机遇与挑战{ #opportunities-and-challenges } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md index 20231ea3..de4ef37f 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__planning-and-organising-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/planning-and-organising.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 规划和组织{ #planning-and-organising } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md index 7aef100e..65789eb2 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__setting-up-the-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/setting-up-a-new-bna-app.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 设置新的 BNA 应用{ #setting-up-a-new-bna-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md index 4e460bac..3b9d9306 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__support-and-scale-up-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/bna-app-support-and-scale-up.md" revision_date: '2022-03-22' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # BNA 应用程序支持和扩展{ #bna-app-support-and-scale-up } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md index dde12d03..9c5212a1 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-122__USER-IMPLEMENTATION__sustainability-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna/scale-up-and-sustainability.md" revision_date: '2021-09-09' tags: -- App version 1.2.2 - 使用 +- App version 1.2.2 --- # 扩大规模和可持续性{ #scale-up-and-sustainability } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md index 83eed395..f1cd1d71 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__access-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/grant-access-to-user.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- ## 2.4 Grant Access to users { #24-grant-access-to-users } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md index 464fd167..77904235 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__interventions-and-indicators-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/interventions-and-indicators-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- ## 2.2 Interventions and Indicators Configuration { #22-interventions-and-indicators-configuration } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md index f2267d55..d282ad18 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__CONFIGURATION__map-configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/maps-configuration.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- ### 2.2.3 Map configuration { #223-map-configuration } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md index 47bd351c..0ad78cfc 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INSTALLATION__installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-app-installation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- # Chapter 2. Bottleneck Analysis App Administrators’ guide { #chapter-2-bottleneck-analysis-app-administrators-guide } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md index f449f575..02e6249c 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/common/about-this-guide-bna1.4.0.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- # 关于本指南 { #about_this_guide_ } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md index 05cb2b57..2d335079 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__INTRODUCTION__introduction-to-bna-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/introduction-to-bna.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- # Chapter 1. Bottleneck Analysis App { #chapter-1-bottleneck-analysis-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md index 3ab0774f..c1be7f27 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-analysis-and-interpretation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-analysis-and-interpretation.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- ## 3.2 BNA Analysis and Interpretation { #32-bna-analysis-and-interpretation } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md index 3189b9e1..143fe9f8 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__bna-layout-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/bna-layout.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- # Chapter 3. Bottleneck Analysis App User guide { #chapter-3-bottleneck-analysis-app-user-guide } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md index 790ca721..1f4cf5cb 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__data-analysis-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/data-analystics.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- ## 2.6 Standard data analytics { #26-standard-data-analytics } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md index 7e5cffff..5d32ee18 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__BOTTLENECK-ANALYSIS-APP__APP-VERSION-140__USAGE__map-view-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/bna_v.1.4.0/map-view.md" revision_date: '2022-12-20' tags: -- App version 1.4.0 - 使用 +- App version 1.4.0 --- Map View diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md index c9a6db94..eba7113c 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__about-this-guide-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/about-this-guide.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 关于本指南{ #about-this-guide } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md index 8b40305e..5b7a0e74 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__accessing-and-transilating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-and-translated-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 访问和翻译记分卡{ #accessing-and-translating-the-scorecard } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md index 7e78c9b0..0ed9737e 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/accessing-scorecard-app.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 登录DHIS2系统{ #login-dhis2-system } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md index dd1ed45c..63f76cd1 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__creating-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/creating-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- ## 创建记分卡{ #creating-the-scorecard } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md index 2fde2c8a..0252adb3 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__introduction-to-the-scorecard-app-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/introduction-to-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 记分卡应用简介 { #introduction-to-the-scorecard-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md index e89a17b9..8000796f 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__saving-configurations-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/ saving-configurations.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- ## 保存配置并加载记分卡{ #saving-configuration-and-load-the-scorecard } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md index abf98ac4..aabe3561 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__scorecard-app-architecture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/scorecard-app-architecture.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 记分卡应用架构{ #scorecard-app-architecture } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md index 43e819a4..f57bcca1 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__support-and-maintenance-options-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/support-and-maintanace-options.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 记分卡应用内置支持和维护选项{ #scorecard-app-built-in-support-and-maintenance-options } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md index 60b210e1..8d7081dc 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__INTERACTIVE-SCORECARD-APP__APP-VERSION-250__viewing-scorecard-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/scorecard-v2.5.0/src/commonmark/en/content/scorecard/viewing-scorecard.md" revision_date: '2021-10-04' tags: -- App version 2.5.0 - 使用 +- App version 2.5.0 --- # 查看记分卡应用分析输出{ #viewing-the-scorecard-app-analysis-outputs } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md index e1930c63..5ec551d7 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__MAINTENANCE-AND-SUPPORT__maintenance-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-maintenance.md" revision_date: '2024-02-27' tags: -- App version 2.0 - 使用 +- App version 2.0 --- If a Standalone action tracker application is taking too long to load, and you’re not on a slow network, make sure you have cleared your browser cache. diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md index 3a2cc0f7..620c2893 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__architecture-and-installation-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-architecture-and-installation.md" revision_date: '2024-02-22' tags: -- App version 2.0 - 使用 +- App version 2.0 --- The Standalone Action Tracker Application is built on an architecture that eases user interactions by having a design concept that promotes the user to follow their intuition complemented with high performance that considers the lowest internet connection scenarios with descriptive notification messages if the user misses a step along the way. diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md index 2ec2f1ee..e59f305e 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__browsing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-browsing.md" revision_date: '2024-02-23' tags: -- App version 2.0 - 使用 +- App version 2.0 --- The Standalone Action Tracker App can be found in the Apps menu. if the application has not yet been installed in your DHIS2 instance or the installation has issues, refer to the installation instructions (Section 3.5) of this documentation for further guidance, or contact the DHIS2 administrator for your instance. diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md index 781612f8..652f0743 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-APP-DEMO__introduction-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-introduction.md" revision_date: '2024-02-22' tags: -- App version 2.0 - 使用 +- App version 2.0 --- # Introduction to the Standalone Action Tracker App { #introduction-to-the-standalone-action-tracker-app } diff --git a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md index 4da1c673..79b0827d 100644 --- a/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md +++ b/projects/docs-full-site/zh/USE__OPTIONAL-APPS__STANDALONE-ACTION-TRACKER-APP__APP-VERSION-20__STANDALONE-ACTION-TRACKER-CONFIGURATION__configuration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/hisptz/unicef-apps-docs/blob/master/src/commonmark/en/content/standalone_action_tracker/sat-app-configuration.md" revision_date: '2024-02-27' tags: -- App version 2.0 - 使用 +- App version 2.0 --- The Standalone Action Tracker App includes a module for administrators to configure key metadata for the normal user. The administration configurable options include:- diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 6fd8a174..f6af38c9 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 关于演示服务器、D2 集群和数据库设计{ #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index 2ddcc966..b32516c9 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-frequently-asked-questions.md" revision_date: '2024-06-07' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # DHIS2常见问题 { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md index 81d7b2c2..805883fb 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # DHIS2词汇表 { #dhis2_glossary } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md index a867dda6..65dbb160 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # DHIS2教程 { #dhis2_tutorials } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 367de7f3..8b8bf2dc 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/master/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 发布和升级说明 { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md index 76d4b729..40bbc40c 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 管理仪表板 { #dashboard } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md index 3c9bd993..29d3bce4 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用数据可视化器应用 { #data_visualizer } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md index 67b8471b..a1d5c2e9 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用事件报告应用 { #event_reports_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md index 40b6c1ad..bbd135c0 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用事件可视化器应用 { #event_visualizer_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md index 2010cc64..f882a794 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # Using the Line Listing app { #using-the-line-listing-app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md index dd650e11..eb53a769 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-maps-app.md" revision_date: '2022-03-23' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用地图应用 { #using_maps } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md index 05c415fe..d02346c3 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 报告应用程序中的报告功能 { #using_the_reports_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md index 9e2bfee5..5812e651 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 数据审批{ #data_approval_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md index 741ef5fc..00e705ab 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 数据审批概览{ #data_approval_overview } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md index ef44c4b0..2a271c33 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-data-entry-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用数据输入应用 { #data_entry_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md index fada709c..ca12e16c 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 控制数据质量 { #control_data_quality } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 41d7b687..76958b34 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 关于对象共享 { #sharing } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md index 07edb99c..e14a19bb 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-the-gis-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 配置地图应用 { #gis_creating } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md index 1b1877ea..3c43ee67 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__metadata-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata.md" revision_date: '2022-10-02' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 配置元数据 { #maintenance_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md index a463f007..ed427762 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__programs-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-programs-in-the-maintenance-app.md" revision_date: '2024-01-03' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 在维护应用中配置程序 { #configure_programs_in_maintenance_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md index 4e629dbf..6deb6548 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__report-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-report-functionality.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 配置报告功能 { #setting_up_reporting } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md index 1c02a927..278b5cfc 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__system-settings-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/system-settings.md" revision_date: '2022-04-27' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 系统设置 { #settings } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md index 67740e26..1c7ff3cf 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__user-authorities-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/user-authorities.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 用户权限 { #user_authorities } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md index 2c50d986..4e72bcce 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__CONFIGURING-THE-SYSTEM__users-roles-and-groups-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/manage-users-user-roles-and-user-groups.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 管理用户,用户角色和用户组 { #manage_user_role_group } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md index 00070069..e5aa701c 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__importexport-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/importexport-app.md" revision_date: '2022-02-23' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 导入/导出应用 { #import_export } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md index ba19ad48..118680c0 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__EXCHANGING-DATA__metadata-synchronization-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/configure-metadata-synchronizing.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 配置元数据同步 { #metadata_sync } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md index 4281834f..fac642dc 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__configure-sms-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/sms-configuration.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 配置短信{ #sms-configuration-intro } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md index 04534ee3..06375fff 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__data-administration-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/data-administration.md" revision_date: '2024-01-31' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 资料管理 { #data_admin } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md index a2b3a3b1..88681070 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__datastore-manager-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/datastore-manager.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 数据存储管理器 { #datastore_manager_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md index 05b95257..e8e86201 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__installing-applications-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/app-management-app/blob/master/docs/user/installing-apps.md" revision_date: '2021-09-08' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- > **注意事项** diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md index 8ddfe5fb..4e106cbe 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__mobile-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/mobile.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 移动 { #mobile } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md index d7902232..8796b3f2 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__scheduling-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/scheduling.md" revision_date: '2022-03-19' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 排程 { #scheduling } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md index de58076d..9ff4c0fc 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__MAINTAINING-THE-SYSTEM__visualize-usage-statistics-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/usage-analytics-app/blob/master/docs/user/visualize-usage-statistics.md" revision_date: '2021-08-25' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 可视化使用情况统计 { #using_usage_analytics } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md index 7aa2f136..62591696 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/capture-app/blob/master/docs/user/using-the-capture-app.md" revision_date: '2024-10-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用捕获应用 { #capture_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md index d4c1fcef..87c04271 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__event-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-event-capture-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用事件捕获应用 { #event_capture_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md index 76eb04c3..cf48a770 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__TRACKING-INDIVIDUAL-LEVEL-DATA__tracker-capture-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/using-the-tracker-capture-app.md" revision_date: '2022-03-10' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 使用Tracker Capture应用 { #tracker_capture_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md index 05ec2d89..768494b4 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__about-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/about-data-dimensions.md" revision_date: '2021-11-18' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 关于数据维度 { #data_dimensions } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md index b85ac539..698552dd 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__additional-data-dimensions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/additional-data-dimensions.md" revision_date: '2021-08-17' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 附加数据维度 { #additional_data_dimensions } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md index c1c12f01..4f8c8a15 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__UNDERSTANDING-THE-DATA-MODEL__relationship-model-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/relationship-model.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 关系模型 { #relationship_model } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md index 3d13a85a..32dfcb29 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__messaging-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/messaging.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 讯息传递 { #messages } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md index 9b75925a..488ba6b6 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__personal-access-tokens-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.38/src/user/personal-access-tokens.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 个人访问令牌{ #personal_access_tokens } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md index 268fe0d4..14b5c266 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-238__WORKING-WITH-YOUR-ACCOUNT__set-user-account-preferences-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/user-profile-app/blob/master/docs/user/set-user-account-preferences.md" revision_date: '2021-10-21' tags: -- DHIS core version 2.38 - 使用 +- DHIS core version 2.38 --- # 设置用户帐户首选项 { #user_account_preferences } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md index 35686c01..7c6e2eff 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__demo-server-live-package-and-database-design-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-demo-server-live-package-and-database-design.md" revision_date: '2022-09-21' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 关于演示服务器、D2 集群和数据库设计{ #moare_about_dhis2_server_database } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md index 58b6f83d..bba32803 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-frequently-asked-questions-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-frequently-asked-questions.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # DHIS2常见问题 { #dhis2-frequently-asked-questions } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md index fc1358e2..2822eb89 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-glossary-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-glossary.md" revision_date: '2021-07-13' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # DHIS2词汇表 { #dhis2_glossary } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md index 1b7bec9e..584060ba 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__dhis2-tutorials-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/dhis2-tutorials.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # DHIS2教程 { #dhis2_tutorials } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md index 99edf1f1..91ff97b1 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ADDITIONAL-INFORMATION__release-and-upgrade-notes-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/release-and-upgrade-notes.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 发布和升级说明 { #release-and-upgrade-notes } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md index 51816af5..82d5376d 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__dashboards-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/managing-dashboards.md" revision_date: '2021-10-22' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 管理仪表板 { #dashboard } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md index c8814e62..4f3df9c3 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__data-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-visualizer.md" revision_date: '2022-01-20' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用数据可视化器应用 { #data_visualizer } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md index 4a146d35..79c83d09 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-reports-app.md" revision_date: '2021-06-14' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用事件报告应用 { #event_reports_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md index c23a41fa..621c9b85 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__event-visualizer-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-event-visualizer-app.md" revision_date: '2022-03-21' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用事件可视化器应用 { #event_visualizer_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md index c4ebb97e..114756be 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__line-listing-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/line-listing-app/blob/master/docs/line_list.md" revision_date: '2024-06-26' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用 "线路列表 "应用程序{ #using-the-line-listing-app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md index f6179776..0da89664 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__maps-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-maps-app.md" revision_date: '2022-09-13' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用地图应用 { #using_maps } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md index 17e34efd..f44c74b7 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__ANALYSING-DATA__reports-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-reporting-functionality.md" revision_date: '2022-02-08' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 报告应用程序中的报告功能 { #using_the_reports_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md index 50351ca3..fb3954b6 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__approving-data-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/approval-app/blob/master/docs/user/approving_data.md" revision_date: '2021-11-17' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 数据审批{ #data_approval_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md index d99d4db5..29be621a 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__APPROVING-DATA__data-approval-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/data-approval.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 数据审批概览{ #data_approval_overview } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md index 01274e44..8e18f85f 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-beta-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-aggregate-data-entry-app.md" revision_date: '2022-10-20' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 数据录入(测试版)应用程序{ #data-entry-beta-app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md index 2556dede..7a72336f 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-entry-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/using-the-data-entry-app.md" revision_date: '2024-07-12' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 使用数据输入应用 { #data_entry_app } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md index 0cd262ca..cdc6e229 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__COLLECTING-DATA__data-quality-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/control-data-quality.md" revision_date: '2021-11-04' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 控制数据质量 { #control_data_quality } diff --git a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md index 2a0388b8..58c79240 100644 --- a/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md +++ b/projects/docs-full-site/zh/USE__USER-GUIDES__DHIS-CORE-VERSION-239__CONFIGURING-THE-SYSTEM__about-sharing-of-objects-md @@ -2,8 +2,8 @@ edit_url: "https://github.com/dhis2/dhis2-docs/blob/2.39/src/user/about-sharing-of-objects.md" revision_date: '2021-10-07' tags: -- DHIS core version 2.39 - 使用 +- DHIS core version 2.39 --- # 关于对象共享 { #sharing }