From 9b1bad33833f45f873be97dfc29657ea2a236137 Mon Sep 17 00:00:00 2001 From: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> Date: Thu, 14 Nov 2024 00:26:16 -0800 Subject: [PATCH 01/16] Move Quick Guides/Tasks to Building/Tasks (#1707) --- content/en/building/guides/forms/form-inputs.md | 4 ++-- content/en/building/tasks/complex-tasks.md | 4 ++-- .../{guides/tasks => tasks/managing-tasks}/_index.md | 7 ++++--- .../tasks => tasks/managing-tasks}/pass-data-to-form.md | 0 .../tasks => tasks/managing-tasks}/query-task-data.md | 0 .../managing-tasks}/task-schema-parameters.md | 0 content/en/building/tasks/simple-tasks.md | 6 +++--- content/en/building/tasks/tasks-js.md | 8 ++++---- content/en/building/tutorials/application-tests.md | 4 ++-- 9 files changed, 17 insertions(+), 16 deletions(-) rename content/en/building/{guides/tasks => tasks/managing-tasks}/_index.md (53%) rename content/en/building/{guides/tasks => tasks/managing-tasks}/pass-data-to-form.md (100%) rename content/en/building/{guides/tasks => tasks/managing-tasks}/query-task-data.md (100%) rename content/en/building/{guides/tasks => tasks/managing-tasks}/task-schema-parameters.md (100%) diff --git a/content/en/building/guides/forms/form-inputs.md b/content/en/building/guides/forms/form-inputs.md index ab5e612c2..14e7b4ebf 100644 --- a/content/en/building/guides/forms/form-inputs.md +++ b/content/en/building/guides/forms/form-inputs.md @@ -7,7 +7,7 @@ description: > relatedContent: > building/reference/forms building/contact-summary/contact-summary-templated - building/guides/tasks/pass-data-to-form + building/tasks/managing-tasks/pass-data-to-form aliases: - /apps/guides/forms/form-inputs @@ -95,7 +95,7 @@ Contact summary data is not available in `contact` forms or in forms created fro ### `inputs` data from task -`app` forms created via a task have access to any data [supplied by the task]({{< ref "building/guides/tasks/pass-data-to-form" >}}) in the `inputs` group. +`app` forms created via a task have access to any data [supplied by the task]({{< ref "building/tasks/managing-tasks/pass-data-to-form" >}}) in the `inputs` group. --- diff --git a/content/en/building/tasks/complex-tasks.md b/content/en/building/tasks/complex-tasks.md index 26ba4080c..40048582f 100644 --- a/content/en/building/tasks/complex-tasks.md +++ b/content/en/building/tasks/complex-tasks.md @@ -128,11 +128,11 @@ We're using the `this.lmp` value which was calculated and saved in the `appliesI This function calculates timestamps for the start and end of each event. Then, it uses the [Utils helper library]({{< ref "building/reference/_partial_utils" >}}) to see if _either_ a _pnc_ or an _assessment_ followup is present within those timestamps. -The concept of _task completion_ is covered in more depth in [Task Completion vs Cancellation]({{< ref "building/guides/tasks/query-task-data#completion-vs-cancellation" >}}). +The concept of _task completion_ is covered in more depth in [Task Completion vs Cancellation]({{< ref "building/tasks/managing-tasks/query-task-data#completion-vs-cancellation" >}}). ## Actions ``` 5. The first pregnancy visit should prompt the CHW to ask some additional questions ``` -The `modifyContent` attribute allows the task to pass data from the task (in JavaScript) into the action app form (xlsx). Check out the guide for [Passing data from a task into the app form]({{< ref "building/guides/tasks/pass-data-to-form" >}}). +The `modifyContent` attribute allows the task to pass data from the task (in JavaScript) into the action app form (xlsx). Check out the guide for [Passing data from a task into the app form]({{< ref "building/tasks/managing-tasks/pass-data-to-form" >}}). diff --git a/content/en/building/guides/tasks/_index.md b/content/en/building/tasks/managing-tasks/_index.md similarity index 53% rename from content/en/building/guides/tasks/_index.md rename to content/en/building/tasks/managing-tasks/_index.md index 04ba1979f..ea675704f 100644 --- a/content/en/building/guides/tasks/_index.md +++ b/content/en/building/tasks/managing-tasks/_index.md @@ -1,9 +1,10 @@ --- -title: "Tasks" -linkTitle: "Tasks" -weight: 100 +title: Managing tasks +linkTitle: Managing tasks +weight: 5 description: > Building and managing Tasks and their data aliases: + - /building/guides/tasks/ - /apps/guides/tasks/ --- \ No newline at end of file diff --git a/content/en/building/guides/tasks/pass-data-to-form.md b/content/en/building/tasks/managing-tasks/pass-data-to-form.md similarity index 100% rename from content/en/building/guides/tasks/pass-data-to-form.md rename to content/en/building/tasks/managing-tasks/pass-data-to-form.md diff --git a/content/en/building/guides/tasks/query-task-data.md b/content/en/building/tasks/managing-tasks/query-task-data.md similarity index 100% rename from content/en/building/guides/tasks/query-task-data.md rename to content/en/building/tasks/managing-tasks/query-task-data.md diff --git a/content/en/building/guides/tasks/task-schema-parameters.md b/content/en/building/tasks/managing-tasks/task-schema-parameters.md similarity index 100% rename from content/en/building/guides/tasks/task-schema-parameters.md rename to content/en/building/tasks/managing-tasks/task-schema-parameters.md diff --git a/content/en/building/tasks/simple-tasks.md b/content/en/building/tasks/simple-tasks.md index dda46951c..bf7b02e83 100644 --- a/content/en/building/tasks/simple-tasks.md +++ b/content/en/building/tasks/simple-tasks.md @@ -25,7 +25,7 @@ Tasks prompt users to complete activities on a programmatic schedule. This guide * Complete the [App Forms Tutorial]({{< ref "building/tutorials/app-forms" >}}) - Tasks prompt users to _complete activities_ by opening an app form. The app forms tutorial produces an _assessment_ app form which we will use here. You can also elect to substitute that with any [example app form](https://github.com/medic/cht-core/tree/master/config/default/forms/app). * Complete the [Contact and User Management - Part 1 Tutorial]({{< ref "building/contact-management/contact-and-users-2" >}}) to create a hierarchy of contacts and an offline CHW user. -* Read [Understanding the data available in tasks and targets]({{< ref "building/guides/tasks/task-schema-parameters" >}}) +* Read [Understanding the data available in tasks and targets]({{< ref "building/tasks/managing-tasks/task-schema-parameters" >}}) ## Implementation Steps @@ -59,9 +59,9 @@ The `tasks.js` file follows the JavaScript ES6 Module syntax and _exports_ an ar * `name` - This is used exclusively in the task's backend data. The _name_ isn't controlling any element of the tasks's behaviour, appearance, or schedule. * `title` - This is controlling the "Task title" as defined in the [anatomy of a task]({{< ref "design/best-practices#anatomy-of-a-task" >}}). * `icon` - This references a [resource]({{< ref "building/reference/resources" >}}) to be used as the task's icon. Refer to [anatomy of a task]({{< ref "design/best-practices#anatomy-of-a-task" >}}). -* `appliesTo` - We use `contacts` because we want one task _per contact_. For more details, read [Understanding the data available in tasks and targets]({{< ref "building/guides/tasks/task-schema-parameters" >}}). +* `appliesTo` - We use `contacts` because we want one task _per contact_. For more details, read [Understanding the data available in tasks and targets]({{< ref "building/tasks/managing-tasks/task-schema-parameters" >}}). * `appliesToType` - The task should only show for contacts with `contact_type` equal to `patient`. This `appliesToType` is a _short-hand_ equivalent to `appliesIf: c => c.contact.contact_type === 'patient'`. -* `appliesIf` - A predicate which gates the creation of the task's event schedule. For more details, read [Understanding the data available in tasks and targets]({{< ref "building/guides/tasks/task-schema-parameters" >}}). +* `appliesIf` - A predicate which gates the creation of the task's event schedule. For more details, read [Understanding the data available in tasks and targets]({{< ref "building/tasks/managing-tasks/task-schema-parameters" >}}). * `user.parent.contact_type` - The user is a CHW iff their parent is of type `chw_area`. The user object is hydrated. * `!c.contact.date_of_death` - The contact must be alive * `!c.contact.muted` - The contact must be unmuted diff --git a/content/en/building/tasks/tasks-js.md b/content/en/building/tasks/tasks-js.md index a610bf67d..b08892019 100644 --- a/content/en/building/tasks/tasks-js.md +++ b/content/en/building/tasks/tasks-js.md @@ -29,9 +29,9 @@ Task generation occurs on the client periodically and creates documents which tr | `name`| `string` | A unique identifier for the task. Used for querying task completeness. | yes, unique | | `icon` | `string` | The icon to show alongside the task. Should correspond with a value defined in `resources.json`. | no | | `title` | `translation key` | The title of the task (labeled above). | yes | -| `appliesTo` | `'contacts'` or `'reports'` | Do you want to emit one task per report, or one task per contact? See [Understanding the Parameters in the Task Schema]({{< ref "building/guides/tasks/task-schema-parameters.md" >}}). | yes | -| `appliesIf` | `function(contact, report)` | If `appliesTo: 'contacts'`, this function is invoked once per contact and `report` is undefined. If `appliesTo: 'reports'`, this function is invoked once per report. Return true if the task should appear for the given documents. See [Understanding the Parameters in the Task Schema]({{< ref "building/guides/tasks/task-schema-parameters.md" >}}). | no | -| `appliesToType` | `string[]` | Filters the contacts or reports for which `appliesIf` will be evaluated. If `appliesTo: 'reports'`, this is an array of form codes. If `appliesTo: 'contacts'`, this is an array of contact types. For example, `['person']` or `['clinic', 'health_center']`. For example, `['pregnancy']` or `['P', 'pregnancy']`. See [Understanding the Parameters in the Task Schema]({{< ref "building/guides/tasks/task-schema-parameters.md" >}}). | no | +| `appliesTo` | `'contacts'` or `'reports'` | Do you want to emit one task per report, or one task per contact? See [Understanding the Parameters in the Task Schema]({{< ref "building/tasks/managing-tasks/task-schema-parameters.md" >}}). | yes | +| `appliesIf` | `function(contact, report)` | If `appliesTo: 'contacts'`, this function is invoked once per contact and `report` is undefined. If `appliesTo: 'reports'`, this function is invoked once per report. Return true if the task should appear for the given documents. See [Understanding the Parameters in the Task Schema]({{< ref "building/tasks/managing-tasks/task-schema-parameters.md" >}}). | no | +| `appliesToType` | `string[]` | Filters the contacts or reports for which `appliesIf` will be evaluated. If `appliesTo: 'reports'`, this is an array of form codes. If `appliesTo: 'contacts'`, this is an array of contact types. For example, `['person']` or `['clinic', 'health_center']`. For example, `['pregnancy']` or `['P', 'pregnancy']`. See [Understanding the Parameters in the Task Schema]({{< ref "building/tasks/managing-tasks/task-schema-parameters.md" >}}). | no | | `contactLabel` | `string` or `function(contact, report)` | Controls the label describing the subject of the task. Defaults to the name of the contact (`contact.contact.name`). | no | | `resolvedIf` | `function(contact, report, event, dueDate)` | Return true to mark the task as "resolved". A resolved task uses memory on the phone, but is not displayed. | no, if any `actions[n].type` is `'report'` | | `events` | `object[]` | An event is used to specify the timing of the task. | yes | @@ -44,7 +44,7 @@ Task generation occurs on the client periodically and creates documents which tr | `actions[n].type` | `'report'` or `'contact'` | When `'report'`, the action opens the given form. When `'contact'`, the action redirects to a contact's profile page. Defaults to 'report'. | no | | `actions[n].form` | `string` | The code of the form that should open when you select the action. | yes, if `actions[n].type` is `'report'` | | `actions[n].label`| `translation key` | The label that should appear on the task summary screen if multiple actions are present. | no | -| `actions[n].modifyContent`| `function (content, contact, report, event)` | Set the values on the content object to control the data which will be passed as `inputs` to the form which opens when the action is selected. See [Passing data from a task into the app form]({{< ref "building/guides/tasks/pass-data-to-form" >}}). | no | +| `actions[n].modifyContent`| `function (content, contact, report, event)` | Set the values on the content object to control the data which will be passed as `inputs` to the form which opens when the action is selected. See [Passing data from a task into the app form]({{< ref "building/tasks/managing-tasks/pass-data-to-form" >}}). | no | | `priority` | `object` or `function(contact, report)` returning object of same schema | Controls the "high risk" line seen above. | no | | `priority.level` | `high` or `medium` | Tasks that are `high` will display a high risk icon with the task. Default: `medium`. | no | | `priority.label` | `translation key` | Text shown with the task associated to the risk level. | no | diff --git a/content/en/building/tutorials/application-tests.md b/content/en/building/tutorials/application-tests.md index c33b06445..c8d93331e 100644 --- a/content/en/building/tutorials/application-tests.md +++ b/content/en/building/tutorials/application-tests.md @@ -6,7 +6,7 @@ description: > Guides for writing automated tests for CHT applications relatedContent: > building/reference - building/guides/tasks/query-task-data/#testing-task-document-data + building/tasks/managing-tasks/query-task-data/#testing-task-document-data aliases: - /apps/tutorials/application-tests --- @@ -425,7 +425,7 @@ it('followup schedule', async () => { }); ``` -You may [pass other data](https://docs.communityhealthtoolkit.org/building/guides/tasks/pass-data-to-form/) from a task to the action form using [modifyContent ](https://docs.communityhealthtoolkit.org/building/guides/tasks/pass-data-to-form/#modifycontent)attribute of a task. You can also verify that these data are present in the task. +You may [pass other data](https://docs.communityhealthtoolkit.org/building/tasks/managing-tasks/pass-data-to-form/) from a task to the action form using [modifyContent ](https://docs.communityhealthtoolkit.org/building/tasks/managing-tasks/pass-data-to-form/#modifycontent)attribute of a task. You can also verify that these data are present in the task. ```js From e54e611e9a869b862011865446c184f699126078 Mon Sep 17 00:00:00 2001 From: Nicole Orlowski <59581790+n-orlowski@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:18:14 -0800 Subject: [PATCH 02/16] Update style-guide.md (#1708) --- content/en/contribute/docs/style-guide.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/content/en/contribute/docs/style-guide.md b/content/en/contribute/docs/style-guide.md index 4e4368631..5229dfe37 100644 --- a/content/en/contribute/docs/style-guide.md +++ b/content/en/contribute/docs/style-guide.md @@ -18,6 +18,20 @@ This documentation site does not involve release management and acceptance testi Documentation for the Community Health Toolkit is written is American English. +## Voice and tone + +The voice and tone should be inclusive and accessible to its audience. Consider that readers come from different backgrounds and may have varying levels of ability reading English, as well as technical abilities. + +### Write like you speak +Aim for a voice and tone that’s conversational and approachable. Try to sound like a knowledgeable friend who understands what the developer wants to do. + +### Get to the point quickly +Lead with what’s most important. Make steps obvious to make your documentation easily scannable. + +### Be brief +Give the audience just enough context and information to make decisions confidently. Avoid long sentences. + + ## General guidelines and best practices This section contains suggested best practices for clear, concise, and consistent content. From 09f2888124ad205e2831d137282216ed7a2aa914 Mon Sep 17 00:00:00 2001 From: Samuel Okwalinga <70289309+sookwalinga@users.noreply.github.com> Date: Fri, 15 Nov 2024 11:02:27 +0300 Subject: [PATCH 03/16] update: desktop editable mockup (#1702) * update: desktop editable mockup Editable mockup using CHT version 4.14.0 * update: desktop editable mockup * Update content/en/design/mockups/_index.md --------- Co-authored-by: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> --- content/en/design/mockups/mockup-desktop.png | Bin 128534 -> 81124 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/content/en/design/mockups/mockup-desktop.png b/content/en/design/mockups/mockup-desktop.png index bf6891a6b404094d3cabdd702b684f6ba74f3664..decc6ed4a40c853d083a83b333d0a37b8aa4beac 100644 GIT binary patch literal 81124 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�#?>VA+aky2Eu2G#?;}hiUe8RV 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 EA6{`M=l}o! literal 128534 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 a(Acey80dP2ySW1XJ8@L~NSc!A<^KWJX^^}C From 324413307989479ea4fede75e54bd566c6515fd5 Mon Sep 17 00:00:00 2001 From: Jennifer Q <66472237+latin-panda@users.noreply.github.com> Date: Mon, 18 Nov 2024 11:02:21 +0700 Subject: [PATCH 04/16] chore: add documentation for training materials page (#1712) --- .../en/building/guides/performance/telemetry.md | 3 ++- .../building/training/training-cards/_index.md | 6 +++++- .../training-cards-configuration.md | 4 ++-- .../training-cards/training-materials-page.png | Bin 0 -> 92441 bytes 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 content/en/building/training/training-cards/training-materials-page.png diff --git a/content/en/building/guides/performance/telemetry.md b/content/en/building/guides/performance/telemetry.md index b5c88035b..5132f3d61 100644 --- a/content/en/building/guides/performance/telemetry.md +++ b/content/en/building/guides/performance/telemetry.md @@ -115,12 +115,13 @@ Find below the list of telemetry data recorded by CHT: | `tasks:group:modal:confirm` | Number times the user confirms navigation away from the household tasks page. Added in 3.13. | | | `tasks:group:modal:reject` | Number times the user rejects navigation away from the household tasks page. Added in 3.13. | | | `user_settings:language:` | The selected language by the user, example: `user_settings:language:en`. Added in 3.14. | | -| `enketo::add:render` | The time it took to render the training card. Added in 4.2.0 | | +| `enketo::add:render` | The time it took to render the training card. Added in 4.2.0 | Yes. Added in 4.15.0 | | `enketo::add:user_edit_time` | The time the user took to complete the training card. Added in 4.2.0 | | | `enketo::add:save` | The time it took to save the training card. Added in 4.2.0 | | | `enketo::add:quit` | The time from when the training card was rendered to when the user quits the training. Added in 4.2.0 | | | `geolocation:success` | A successful GPS response with the value showing the accuracy. | | | `geolocation:failure:` | An unsuccessful GPS response. `x` is a constant matching the [GeolocationPositionError](https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPositionError/code) or with one of the following values: `-1` unknown failure, `-2` timeout, or `-3` geolocation services unavailable. | | +| `training_materials_list:load` | On the Training Materials page, the time taken to load the list of trainings on the left hand side. Added in 4.15.0. | Yes. Added in 4.15.0 | [1] "Dirty" indicates that the contact's task documents are not up to date. They will be refreshed before being used. [2] Replication can be denied when the user doesn't have permissions to create a doc (hierarchy permissions) or when a doc fails a `validate_doc_update` check. diff --git a/content/en/building/training/training-cards/_index.md b/content/en/building/training/training-cards/_index.md index 5190d2953..53cc1ddc3 100644 --- a/content/en/building/training/training-cards/_index.md +++ b/content/en/building/training/training-cards/_index.md @@ -24,10 +24,14 @@ _Introduced in 4.2.0_ ## Accessing -When health workers open or reload their app, configured training cards will automatically show on top of all other content in the app. If it is not a convenient time to complete the training, they can cancel out at any time and will be prompted again the next day they open their app (training will start from the beginning). +When health workers open or reload their app, configured training cards will automatically show on top of all other content in the app. If it is not a convenient time to complete the training, they can cancel out at any time and will be prompted again the next day they open their app (training will start from the beginning). {{% alert title="Note" %}} If there are multiple training sets configured to start on the same day, the CHT will determine the order alphabetically based on the form ID. Subsequent training sets will only be displayed once the previous ones are either completed or no longer valid the next day the app is opened. {{% /alert %}} +Training materials can also be accessed in the training page found in the auxiliary menu for users to revisit as needed. Completed training is displayed with a green checkmark. _Added in 4.15.0_. + +{{< figure src="training-materials-page.png" link="training-materials-page.png" class="col-10 col-lg-10" >}} + ## Completing Health workers read through each card one by one in a predefined sequence, tapping “Next” on each card. When they are finished reading all cards, they tap “Submit” on the last card. The training set is now considered complete and they can continue using their app. Completed training sets show up on the [main list]({{< relref "building/features/reports/#main-list" >}}) of the Reports tab and they won’t be asked to complete this set again. If there are additional training sets to complete, they will be shown the next day the app is opened. diff --git a/content/en/building/training/training-cards/training-cards-configuration.md b/content/en/building/training/training-cards/training-cards-configuration.md index d4e4a6366..6d712a40f 100644 --- a/content/en/building/training/training-cards/training-cards-configuration.md +++ b/content/en/building/training/training-cards/training-cards-configuration.md @@ -41,7 +41,7 @@ Create a [properties file]({{< relref "building/tutorials/form-properties#3-defi ``` { - "title": "", + "title": "New workflow", "context": { "start_date": "2023-07-13", "duration": 60, @@ -53,7 +53,7 @@ Create a [properties file]({{< relref "building/tutorials/form-properties#3-defi In the example above, the training cards could be shown to any user with the "nurse" role between July 13, 2023 and September 11, 2023 (inclusive). See more information about these configuration settings below: | Property | Description | |---|----| -| "title" | Optional. Enketo’s form title that is displayed under the modal’s header section. Leave this property empty if you don’t need to display a title. | +| "title" | Enketo’s form title that is displayed in the modal’s header section. | | "start_date" | Optional. Define the training start day using `yyyy-mm-dd` format. If not defined then the training will start immediately. | | "duration" | Optional. Number of days this training should be active. If not defined then the training will never expire. | | "user_roles" | Optional. List of user roles that can access this training. If not defined then all users can access the training. | diff --git a/content/en/building/training/training-cards/training-materials-page.png b/content/en/building/training/training-cards/training-materials-page.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f7aefda036f057452590d4a29ad61a199daa81 GIT binary patch literal 92441 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 pextCVb%JLBOkA2?{`UG@lJGH4Coxto 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 z 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 literal 0 HcmV?d00001 From ecb80ec9ec4072f722bfcb0cac42adcfaa5140fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatiana=20L=C3=A9piz=20Soto?= <94494491+tatilepizs@users.noreply.github.com> Date: Mon, 18 Nov 2024 09:20:52 -0600 Subject: [PATCH 05/16] chore(#9578): add desire structure for the e2e tests files (#1710) --- .../code/core/style-guide-automated-e2e-tests.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/content/en/contribute/code/core/style-guide-automated-e2e-tests.md b/content/en/contribute/code/core/style-guide-automated-e2e-tests.md index 0cb0471f9..b073d2f2b 100644 --- a/content/en/contribute/code/core/style-guide-automated-e2e-tests.md +++ b/content/en/contribute/code/core/style-guide-automated-e2e-tests.md @@ -36,13 +36,25 @@ Automated tests cover different [CHT Configs](https://github.com/medic/cht-core/ ## Tips to write test cases ### File Structure (spec files) -Test files should represent a feature within the application. Use `describe` to identify the feature and to group test cases. Use `it` to detail individual test cases covering the feature's functionality. +Test files should represent a feature within the application. Use `describe` to identify the feature and to group helper functions and test cases. Use `it` to detail individual test cases covering the feature's functionality. +It is important that the database is clean and settings are restored once the tests are complete; we re-try the tests if they fail, and we need to make sure that for every new try, the environment is as it was the first time. Additionally, each `it` block should be independent of the others, ensuring that any single test case can be rerun on its own and still work as expected. -Observe how the following example defines a `describe` using the feature name `Immunization Visit`. It contains two test cases which detail the expected results `should add a new child under 2 years old` and `should submit an immunization visit`. +Observe how the following example defines a `describe` using the feature name `Immunization Visit`. It contains constant definitions, helper functions, the `before` and `after` hooks to prepare the environment, and two test cases that detail the expected results `should add a new child under 2 years old` and `should submit an immunization visit`. Ex: ``` describe('Immunization Visit', () => { + const firstConstant = 'SampleName'; + const secondConstant = 'SampleValue'; + const firstHelperFunction = () => { .... } + const secondHelperFunction = () => { .... } + + before(async () => { .... }); + beforeEach(async () => { .... }); + + after(async () => { .... }); + afterEach(async () => { .... }); + it('should add a new child under 2 years old', () => { .... }); it('should submit an immunization visit', () => { .... }); ... From a633e5137eb45196538dc74e223eb1e31b7ee5ed Mon Sep 17 00:00:00 2001 From: Jennifer Q <66472237+latin-panda@users.noreply.github.com> Date: Tue, 19 Nov 2024 08:19:08 +0700 Subject: [PATCH 06/16] chore: add release notes for 4.15 (#1713) --- content/en/core/releases/4.15.0.md | 89 ++++++++++++++++++ content/en/core/releases/_index.md | 8 +- .../en/core/releases/images/4.15.0-9598.png | Bin 0 -> 92441 bytes 3 files changed, 94 insertions(+), 3 deletions(-) create mode 100644 content/en/core/releases/4.15.0.md create mode 100644 content/en/core/releases/images/4.15.0-9598.png diff --git a/content/en/core/releases/4.15.0.md b/content/en/core/releases/4.15.0.md new file mode 100644 index 000000000..07c3febc3 --- /dev/null +++ b/content/en/core/releases/4.15.0.md @@ -0,0 +1,89 @@ + +--- +title: "4.15.0 release notes" +linkTitle: "4.15.0" +weight: +description: > +relevantLinks: > +toc_hide: true +--- + +## Known issues + +Check the repository for the [latest known issues](https://github.com/medic/cht-core/issues?q=is%3Aissue+label%3A%22Affects%3A+4.15.0%22). + +## Upgrade notes + +### Breaking changes + +None. + +### UI/UX changes + +None. + +## Highlights + +### Training Page + +After deploying the training cards feature to introduce a new workflow to over 10,000 CHPs, we received feedback that users need a way to easily revisit their training content. +Care Teams is working on a new Training Materials page which will be found in the auxiliary menu of the CHT. + +{{< figure src="../images/4.15.0-9598.png" >}} + +It will display a list of training content that have been assigned to each user, with an indication to show which have been completed, that users can access repeatedly if necessary. + +## And more... + +### Features + +- [#8806](https://github.com/medic/cht-core/issues/8806): Multiple validation functions in rule doesn't work +- [#9489](https://github.com/medic/cht-core/issues/9489): Add telemetry for offline freetext searching +- [#9598](https://github.com/medic/cht-core/issues/9598): Add training material page + +### Improvements + +- [#8216](https://github.com/medic/cht-core/issues/8216): Propagate request uuid from API to audit logging layer +- [#8402](https://github.com/medic/cht-core/issues/8402): Add support to check if either of multiple forms is submitted for a patient. +- [#9551](https://github.com/medic/cht-core/issues/9551): Revisit rules-engine telemetry entries after recalculation triggers rework + +### Security fixes + +None. + +### Performance improvements + +None. + +### Bug fixes + +- [#7375](https://github.com/medic/cht-core/issues/7375): Race condition in service worker update +- [#8573](https://github.com/medic/cht-core/issues/8573): Install button doesn't appear after staging an upgrade sometimes +- [#9286](https://github.com/medic/cht-core/issues/9286): Starting an upgrade that involves view indexing can cause CouchDB to crash +- [#9612](https://github.com/medic/cht-core/issues/9612): Tasks can be completed after resolution +- [#9617](https://github.com/medic/cht-core/issues/9617): Starting an upgrade that involves view indexing can become stuck after indexing is finished +- [#9618](https://github.com/medic/cht-core/issues/9618): Broken form.xml attachment can prevent api server from starting + +### Technical improvements + +- [#8781](https://github.com/medic/cht-core/issues/8781): Upgrade to docker compose v2 +- [#9543](https://github.com/medic/cht-core/issues/9543): Flaky e2e test: `incorrect-locale` has been failing constantly in "after each" hook +- [#9594](https://github.com/medic/cht-core/issues/9594): Add remaining e2e test to tasks for offline user +- [#9614](https://github.com/medic/cht-core/issues/9614): Bump helm charts default version in cht-deploy +- [#9622](https://github.com/medic/cht-core/issues/9622): Flaky e2e test search matches telemetry +- [#9624](https://github.com/medic/cht-core/issues/9624): `default-docs` build cache not cleared when running `build-dev` +- [#9636](https://github.com/medic/cht-core/issues/9636): Update to Node 22 + +## Contributors + +Thanks to all who committed changes for this release! + +- [Diana Barsan](https://github.com/dianabarsan) +- [Gareth Bowen](https://github.com/garethbowen) +- [Mokhtar](https://github.com/m5r) +- [mrjones](https://github.com/mrjones-plip) +- [Rafa](https://github.com/ralfudx) +- [Joshua Kuestersteffen](https://github.com/jkuester) +- [Tatiana Lépiz Soto](https://github.com/tatilepizs) +- [Jennifer Q](https://github.com/latin-panda) + diff --git a/content/en/core/releases/_index.md b/content/en/core/releases/_index.md index cc35153fc..44bf46586 100644 --- a/content/en/core/releases/_index.md +++ b/content/en/core/releases/_index.md @@ -22,12 +22,13 @@ It is recommended that all projects update regularly multiple times a year to ge | Version | Status | Release date | End of life | |---------|-----------|--------------|-------------| -| 4.14.x | Supported | 31-Oct-2024 | TBA | -| 4.13.x | Supported | 22-Oct-2024 | 01-Mar-2025 | +| 4.15.x | Supported | 20-Nov-2024 | TBA | +| 4.14.x | Supported | 31-Oct-2024 | 20-Feb-2025 | +| 4.13.x | Supported | 22-Oct-2024 | 31-Jan-2025 | | 4.12.x | Supported | 02-Oct-2024 | 22-Jan-2025 | | 4.11.x | Supported | 26-Sep-2024 | 02-Jan-2025 | | 4.10.x | Supported | 15-Aug-2024 | 26-Dec-2024 | -| 4.9.x | Supported | 25-Jun-2024 | 15-Nov-2024 | +| 4.9.x | EOL | 25-Jun-2024 | 15-Nov-2024 | | 4.8.x | EOL | 22-May-2024 | 25-Sep-2024 | | 4.7.x | EOL | 07-May-2024 | 22-Aug-2024 | | 4.6.x | EOL | 20-Mar-2024 | 10-Aug-2024 | @@ -98,6 +99,7 @@ Devices with more navigation systems are more likely to get a more accurate loca ## Release Notes ### 4.x +- [4.15.0]({{% ref "core/releases/4.15.0.md" %}}) - [4.14.0]({{% ref "core/releases/4.14.0.md" %}}) - [4.13.0]({{% ref "core/releases/4.13.0.md" %}}) - [4.12.0]({{% ref "core/releases/4.12.0.md" %}}) diff --git a/content/en/core/releases/images/4.15.0-9598.png b/content/en/core/releases/images/4.15.0-9598.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f7aefda036f057452590d4a29ad61a199daa81 GIT binary patch literal 92441 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 pextCVb%JLBOkA2?{`UG@lJGH4Coxto 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 z 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 literal 0 HcmV?d00001 From ab1bd5276f05ab7ee98cd09399a1513ecebb375b Mon Sep 17 00:00:00 2001 From: mrjones <8253488+mrjones-plip@users.noreply.github.com> Date: Tue, 19 Nov 2024 12:48:05 -0800 Subject: [PATCH 07/16] feat(na): add k3s, k3d, kubernetes to glossary, link to same from e2e page (#1717) * Add k3s, k3d, kubernetes to glossary, link to same from e2e page * add link to k3d in glossary --- .../code/core/style-guide-automated-e2e-tests.md | 2 +- content/en/glossary.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/content/en/contribute/code/core/style-guide-automated-e2e-tests.md b/content/en/contribute/code/core/style-guide-automated-e2e-tests.md index b073d2f2b..d645d2b1c 100644 --- a/content/en/contribute/code/core/style-guide-automated-e2e-tests.md +++ b/content/en/contribute/code/core/style-guide-automated-e2e-tests.md @@ -93,7 +93,7 @@ You can tag mocha tests and update suites to only include or exclude certain tag Existent tags: #### @docker -Tests that should run exclusively when running the suite over docker infrastructure. These tests will fail if run over k3d. +Tests that should run exclusively when running the suite over docker infrastructure. These tests will fail if run over [k3d]({{% ref "glossary#k3d" %}}). ### Notes: diff --git a/content/en/glossary.md b/content/en/glossary.md index 3017782c8..5cde58cac 100644 --- a/content/en/glossary.md +++ b/content/en/glossary.md @@ -147,6 +147,21 @@ The ability of health information systems to work together, even if they weren't ###### Joint United Nations Programme on HIV/AIDS (UNAIDS) +## K + +###### k3d + +k3d is a lightweight wrapper to run k3s in docker. More information on [their site](https://k3d.io/). + + +###### k3s + +Lightweight Kubernetes in a single binary. More information on [their site](https://github.com/k3s-io/k3s). + +###### Kubernetes + +Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications. More information on [their site](https://kubernetes.io/). + ## L ###### Last Menstruation Period (LMP) From 50d0de240514eb8cfde24f1164aae0c3c65b40e5 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Wed, 20 Nov 2024 10:04:01 -0600 Subject: [PATCH 08/16] fix: correct docs for contact-summary field `appliesIf` (#1718) --- .../en/building/contact-summary/contact-summary-templated.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/building/contact-summary/contact-summary-templated.md b/content/en/building/contact-summary/contact-summary-templated.md index 383047ed2..ea94143b1 100644 --- a/content/en/building/contact-summary/contact-summary-templated.md +++ b/content/en/building/contact-summary/contact-summary-templated.md @@ -55,7 +55,7 @@ Each field that can be shown on a contact's profile is defined as an object in t | `width` | `integer` | The horizontal space for the field. Common values are 12 for full width, 6 for half width, or 3 for quarter width. Default 12. | no | | `translate` | `boolean` | Whether or not to translate the `value`. Defaults to false. | no | | `context` | `object` | When `translate: true` and `value` uses [translation variables](https://angular-translate.github.io/docs/#/guide/06_variable-replacement), this value should provide the translation variables. | no | -| `appliesIf` | `function()` or `boolean` | Return true if the field should be shown. | no | +| `appliesIf` | `function()` | Return `true` if the field should be shown, and `false` if it should be hidden. Default is `true`. | no | | `appliesToType` | `string[]` | Filters the contacts for which `appliesIf` will be evaluated. For example, `['person']` or `['clinic', 'health_center']`. It defaults to all types if it is not defined. | no | From 8101da95043af85d5c17099376ac03f65d3871ff Mon Sep 17 00:00:00 2001 From: mrjones <8253488+mrjones-plip@users.noreply.github.com> Date: Thu, 21 Nov 2024 04:59:17 -0800 Subject: [PATCH 09/16] Remove version from compose file, always use same username password for couch (#1719) --- content/en/contribute/code/core/dev-environment.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/en/contribute/code/core/dev-environment.md b/content/en/contribute/code/core/dev-environment.md index 00f670c20..587963bf4 100644 --- a/content/en/contribute/code/core/dev-environment.md +++ b/content/en/contribute/code/core/dev-environment.md @@ -128,7 +128,6 @@ Create a `docker-compose.yml` and `couchdb-override.yml` files under the `~/cht- mkdir -p ~/cht-docker curl -s -o ~/cht-docker/docker-compose.yml https://staging.dev.medicmobile.org/_couch/builds_4/medic:medic:master/docker-compose/cht-couchdb.yml cat > ~/cht-docker/couchdb-override.yml << EOF -version: '3.9' services: couchdb: ports: @@ -233,7 +232,7 @@ Medic recommends you familiarise yourself with other Docker commands to make doc ### Required environment variables Medic needs the following environment variables to be declared: -- `COUCH_URL`: the full authenticated url to the `medic` DB. Locally this would be `http://myadminuser:myadminpass@localhost:5984/medic` +- `COUCH_URL`: the full authenticated url to the `medic` DB. Locally this would be `http://medic:password@localhost:5984/medic` - `COUCH_NODE_NAME`: the name of your CouchDB's node. The Docker image default is `nonode@nohost`. Other installations may use `couchdb@127.0.0.1`. You can find out by querying [CouchDB's membership API](https://docs.couchdb.org/en/stable/api/server/common.html#membership) - (optional) `COUCHDB_USER`: the name of your CouchDB's user. The Docker image default is `medic` - (optional) `COUCHDB_PASSWORD`: the credentials of your CouchDB user. The Docker image default is `password` @@ -244,7 +243,7 @@ How to permanently define environment variables depends on your OS and shell (e. ```shell export COUCH_NODE_NAME=nonode@nohost -export COUCH_URL=http://myadminuser:myadminpass@localhost:5984/medic +export COUCH_URL=http://medic:password@localhost:5984/medic ``` ## Tests From a761e1fa85a2450b467a5319f2d3f98a509499f2 Mon Sep 17 00:00:00 2001 From: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> Date: Mon, 25 Nov 2024 10:43:12 -0800 Subject: [PATCH 10/16] Remove footnotes (#1714) * Remove footnotes * Feedback review * Update content/en/building/reference/app-settings/transitions.md Co-authored-by: Joshua Kuestersteffen --------- Co-authored-by: Joshua Kuestersteffen --- .../reference/app-settings/transitions.md | 145 ++++++++++-------- 1 file changed, 77 insertions(+), 68 deletions(-) diff --git a/content/en/building/reference/app-settings/transitions.md b/content/en/building/reference/app-settings/transitions.md index 3250a92f5..0a31bca77 100644 --- a/content/en/building/reference/app-settings/transitions.md +++ b/content/en/building/reference/app-settings/transitions.md @@ -29,7 +29,7 @@ As of version 3.12.0 some transitions will partially run on the client for offli } ``` -In this example the `d` transition will not be applied, `a`, `b` `c` will be applied on the server and on the client, while `e` will only be applied on the server. +In the example above, the `d` transition will not be applied, `a`, `b` `c` will be applied on the server and on the client, while `e` will only be applied on the server. ## Available transitions @@ -57,11 +57,10 @@ The following transitions are available and executed in order. | [mark_for_outbound]({{% ref "building/reference/app-settings/outbound" %}}) | Enables outbound pushes. Available since 3.5.x | | [self_report](#self_report) | Maps patient to sender. Available since 3.9.x | | [create_user_for_contacts](#create_user_for_contacts) | Allows for automatically creating or replacing users based on data from their associated contact. Available since 4.1.x | | -## Transition Configuration Guide -Guides for how to setup specific transitions. +Below are guides to setup specific transitions. -### multi_report_alerts +## multi_report_alerts Send alert messages by SMS when specific conditions are received through reports. More flexible than simple Alerts. @@ -87,7 +86,7 @@ Understanding the different types of reports used in the configuration: `0`, `1` : `new_reports` : `counted_reports` that came in since the previous alert was sent. They haven't been messaged about yet. -#### Configuration +##### Configuration ``` "multi_report_alerts" : [ @@ -112,11 +111,11 @@ Note that we are using Mustache templates for our message templates (anything wi For performance reasons the `num_reports_threshold` cannot exceed 100. -### death_reporting +## death_reporting Updates patient documents with a `date_of_death` field which updates how the patient is displayed in the UI. -#### Configuration +##### Configuration Configuration is stored in the `death_reporting` field of the settings. @@ -136,7 +135,7 @@ Configuration is stored in the `death_reporting` field of the settings. } ``` -### Registration +## registration Configuration is held at `app_settings.registrations`, as a list of objects connecting forms to validations, events and messages. @@ -307,22 +306,22 @@ To provide an alternative location for the place name, provide a `place_name_fie Sets the `case_id` on the root of the registration document. -### Generate Shortcode on Contacts +## generate_shortcode_on_contacts -No custom configuration for `generate_shortcode_on_contacts`. +There is no custom configuration for `generate_shortcode_on_contacts`. -### Generate Patient ID On People +## generate_patient_id_on_people **Deprecated since 3.8.x** in favor of `generate_shortcode_on_contacts` -No custom configuration for `generate_patient_id_on_people`. +There is no custom configuration for `generate_patient_id_on_people`. -### update_notifications +## update_notifications **Deprecated in favor of [Muting](#muting)** -#### Configuration +##### Configuration ``` "notifications": { @@ -352,53 +351,64 @@ No custom configuration for `generate_patient_id_on_people`. } ``` -### Muting +## muting Implements muting/unmuting of persons and places. Supports multiple forms for each action, for webapp and sms workflows. +### Muting action -##### Muting action +Updates the target contact and all its descendants, setting the `muted` property equal to the current date in ISO format. -As of 3.12.0, client-side muting only runs on new reports or new contacts, before they are saved in the local database: +#### Client-side -- updates the target contact and all its descendants[10], setting the `muted` property equal to the device's current `date` in ISO format[8]. -- adds/updates the `muting_history`[11] property on every updated contact, to keep track of all the updates that have been processed client-side, as well as the last known server-side state of the contact and sets the `last_update` property to `client_side` -- updates the report doc to add a `client_side_transitions` property to track which transitions have run client-side +*Added in 3.12.0* -Server-side: +Client-side muting runs offline on a user's device. Only the contacts and reports available on the device will be updated. -- updates the target contact and all its descendants[1], setting the `muted` property equal to the current `date` in ISO format[2]. If the contact was already muted by a client, the `muted` date will be overwritten. The client-side `muting_history` will have a copy of the client-side muting date. -- adds a `muting_history` entry to Sentinel `info` docs for every updated contact[7] -- updates all connected registrations[3], changing the state of all unsent[4] `scheduled_tasks` to `muted` -- as of 3.12.0, updates the contact's client-side `muting_history` to set the `last_update` property to `server_side` and update the `server_side` section with the current date and muted state. -- as of 3.12.0, if the report was processed client-side, all "following" muting/unmuting events that have affected the same contacts will be replayed. This means the transition _could_ end up running multiple times over the same report[9]. +- Sets the `muted` property on the target contact and all its descendants to the device's current `date` (the moment the report is processed). +- Adds/updates the [`muting_history` property]({{< ref "#client-side-muting-history" >}}) on every updated contact, to keep track of all the updates that have been processed client-side, as well as the last known server-side state of the contact and sets the `last_update` property to `client_side` +- Updates the report doc to add a `client_side_transitions` property to track which transitions have run client-side -##### Unmuting action: +#### Server-side -As of 3.12.0, client-side unmuting only runs on new reports before they are saved in the local database: +Server-side muting runs as a typical Sentinel transition. Contacts that are already in the correct state are skipped. This applies to updates to the contact itself, updates to the Sentinel `muting_history` and to the connected registrations (registrations of a contact that is already in the correct state will not be updated). -- updates the target contact's topmost muted ancestor[10][5] and all its descendants, removing the `muted` property. -- adds/updates the `muting_history`[9] property on every updated contact, sets the last known server-side state of the contact and sets the `last_update` property to `client_side` -- updates the report doc to add a `client_side_transitions` property to track which transitions have run client-side +- Sets the `muted` property on the target contact and all its descendants to the moment Sentinel processed the muting action. + - If the contact was already muted by a client, the `muted` date will be overwritten. The [client-side `muting_history`]({{< ref "#client-side-muting-history" >}}) will have a copy of the client-side muting date. +- Adds a [`muting_history` entry]({{< ref "#server-side-muting-history" >}}) to Sentinel `info` docs for every updated contact +- Updates all connected registrations (for the target contact and descendants), changing the state of all unsent `scheduled_tasks` to `muted` + - Unsent `scheduled_tasks` have either a `scheduled` or `pending` state +- Updates the contact's client-side `muting_history` to set the `last_update` property to `server_side` and update the `server_side` section with the current date and muted state. +- If the report was processed client-side, all "following" muting/unmuting events that have affected the same contacts will be replayed. This means the transition _could_ end up running multiple times over the same report. + - Replaying is required due to how PouchDB <-> CouchDB synchronization does not respect the order in which the documents have been created, to ensure that contacts end up in the correct muted state. -Server-side: +### Unmuting action -- updates the target contact's topmost muted ancestor[1][5] and all its descendants, removing the `muted` property -- adds a `muting_history` entry to Sentinel `info` docs for every updated contact[7] -- updates all connected registrations[3], changing the state of all present/future[6] `muted` `scheduled_tasks` to `scheduled` -- as of 3.12.0, updates the contact's client-side `muting_history` to set the `last_update` property to `server_side` and update the `server_side` section with the current date and muted state. -- as of 3.12.0, if the report was processed client-side, all "following" muting/unmuting events that have affected the same contacts will be replayed. This means the transition _could_ end up running multiple times over the same report[10]. +Updates the target contact's topmost muted ancestor and all its descendants, removing the `muted` property. Because the muted state is inherited, unmuting cascades upwards to the highest level muted ancestor. If none of the ancestors is muted, unmuting cascades downwards only. -[1] Contacts that are already in the correct state are skipped. This applies to updates to the contact itself, updates to the Sentinel `muting_history` and to the connected registrations (registrations of a contact that is already in the correct state will not be updated). -[2] The date represents the moment Sentinel has processed the muting action -[3] target contact and descendants' registrations -[4] `scheduled_tasks` being in either `scheduled` or `pending` state -[5] Because the muted state is inherited, unmuting cascades upwards to the highest level muted ancestor. If none of the ancestors is muted, unmuting cascades downwards only. -[6] `scheduled_tasks` which are due today or in the future. All `scheduled_tasks` with a due date in the past will remain unchanged. -[8] The date represents the device's date when the report is processed. -[9] Replaying is required due to how PouchDB <-> CouchDB synchronization does not respect the order in which the documents have been created, to ensure that contacts end up in the correct muted state. -[10] The updated contacts are limited to the contacts available on the device. +#### Client-side + +*Added in 3.12.0* + +Client-side unmuting runs offline on a user's device. Only the contacts and reports available on the device will be updated. + +- Adds/updates the [`muting_history` property]({{< ref "#client-side-muting-history" >}}) on every updated contact, sets the last known server-side state of the contact and sets the `last_update` property to `client_side` +- Updates the report doc to add a `client_side_transitions` property to track which transitions have run client-side + +#### Server-side + +Server-side unmuting runs as a typical Sentinel transition. Contacts that are already in the correct state are skipped. This applies to updates to the contact itself, updates to the Sentinel `muting_history` and to the connected registrations (registrations of a contact that is already in the correct state will not be updated). + +- Adds a [`muting_history` entry]({{< ref "#server-side-muting-history" >}}) to Sentinel `info` docs for every updated contact +- Updates all connected registrations (for the target contact and descendants), changing the state of all present/future `scheduled_tasks` (ones due today or in the future) with the `muted` state to have the `scheduled` state. + - All `scheduled_tasks` with a due date in the past will remain unchanged. +- Updates the contact's [client-side `muting_history`]({{< ref "#client-side-muting-history" >}}) to set the `last_update` property to `server_side` and update the `server_side` section with the current date and muted state. +- If the report was processed client-side, all "following" muting/unmuting events that have affected the same contacts will be replayed. This means the transition _could_ end up running multiple times over the same report. + - Replaying is required due to how PouchDB <-> CouchDB synchronization does not respect the order in which the documents have been created, to ensure that contacts end up in the correct muted state. + +### Muting history + +#### Server-side muting history -##### [7] Muting history Each time the `muted` state of a contact changes, an entry is added to a `muting_history` list saved in Sentinel `info` docs (stored as an array property with the same name). Entries in `muting_history` contain the following information: @@ -408,8 +418,10 @@ Entries in `muting_history` contain the following information: | date | Date in ISO Format | | report_id | An `_id` reference to the report that triggered the action | +#### Client-side muting history + +*Added in 3.12.0* -##### [11] Client-side Muting history as of 3.12.0 Each time the client changes the `muted` state of a contact, an entry is added to a `muting_history` property on the contact's doc. The `last_update` entry is also changed to `client_side`. The `muting_history` property contains the following information: @@ -424,8 +436,7 @@ The `muting_history` property contains the following information: | client_side[].date | Date in ISO format | Client-side muting/unmuting date | | client_side[].report_id | uuid | The uuid of the muting/unmuting report that triggered the update | - -#### Configuration +##### Configuration Configuration is stored in the `muting` field of `app_settings.json`. | Property | Description | @@ -501,15 +512,15 @@ When muting events are processed both client-side and server-side, there is no g } ``` -### Accept patient reports +## accept_patient_reports Allow reporting about patient and place centric workflows by -- validating the report, -- assigning the relevant subject (patient or place) to the report if a registration with the given shortcode (patient_id or place_id) exists, -- clearing messages on the registration, and -- generating response messages on the report. +- validating the report +- assigning the relevant subject (patient or place) to the report if a registration with the given shortcode (patient_id or place_id) exists +- clearing messages on the registration +- generating response messages on the report -#### Example +##### Example ```json "transitions": { @@ -546,7 +557,7 @@ Allow reporting about patient and place centric workflows by }] ``` -### Accept case reports +## accept_case_reports Allow reporting about case centric workflows by - validating the report configuration documentation, @@ -554,7 +565,7 @@ Allow reporting about case centric workflows by - clearing messages on the registration, and - generating response messages on the report. -#### Example +##### Example ```json "registrations": [{ @@ -576,13 +587,13 @@ Allow reporting about case centric workflows by }] ``` -### self_report +## self_report Updates a `data_record` to set its patient to its sender. The resulting doc will have `fields.patient_uuid` and `fields.patient_id` filled with the sender's information. Provides hydrated patient information to subsequent transitions. The `sender` is the contact associated with the phone number that sent the original SMS. If a doc already contains a `patient` field, does not have a sender or its `form` is not configured to be enabled for this transition, it will be ignored. -#### Configuration +##### Configuration Configuration is stored in the `self_report` field of `app_settings.json` as a list of objects connecting forms to messages. Every object should have this structure: @@ -635,10 +646,10 @@ Supported `events_types` are: ] ``` -### update_clinics +## update_clinics Adds a contact’s info to a data record so as to attribute an incoming SMS message or report to the appropriate contact. -#### Configuration +##### Configuration As of version 3.12 you can add configuration to send a message whenever a contact match fails while running this transition. Configuration is stored in the `update_clinics` field of app_settings.json as a list of objects connecting forms to messages. Every object should have this structure: | Property | Description | @@ -680,11 +691,11 @@ If this configuration is not set then the message defaults to what is set in the ] ``` -### create_user_for_contacts +## create_user_for_contacts Users are automatically created for certain contacts. Both creating a new user for a new contact and replacing an existing user with a new user are supported. -#### Configuration +##### Configuration Several configurations are required in `app_settings` to enable the `create_user_for_contacts` transition. @@ -704,8 +715,6 @@ The [`app_url` property]({{< ref "building/reference/app-settings#app_settingsjs } ``` -#### Create User - When adding a new person contact, the `create_user_for_contacts` transition can be triggered to create a new user associated with that contact. _Available since 4.2.x._ ##### Example scenario @@ -732,7 +741,7 @@ The new person contacts _must_ have the following fields set: See the `person-create` contact form provided in the [Default config](https://github.com/medic/cht-core/tree/master/config/default) as an example. This form will trigger the creation of a new user for the contact when the role is set to `chw` or `chw_supervisor` and a phone number is provided. -#### Replace User +### Replace User An existing offline user can be replaced on a device so that a new user can use that device without needing to immediately sync with the server. _Available since 4.1.x._ @@ -775,7 +784,7 @@ See the `replace_user` app form provided in the [Default config](https://github. } ``` -#### Troubleshooting +## Troubleshooting Configuration is validated when Sentinel starts. Issues with the configuration will be show in the Sentinel logs. From 79a44cde3fe449742b951dd88ea8a175abf01eff Mon Sep 17 00:00:00 2001 From: Henok Date: Thu, 28 Nov 2024 17:38:31 +0300 Subject: [PATCH 11/16] Data migration and Migrating from 3.x to 4.x in Kubernetes (#1722) * Data migration in k8s --------------- Co-authored-by: mrjones-plip --- .../data-migration-k8s.md | 399 ++++++++++++++++++ 1 file changed, 399 insertions(+) create mode 100644 content/en/contribute/medic/product-development-process/data-migration-k8s.md diff --git a/content/en/contribute/medic/product-development-process/data-migration-k8s.md b/content/en/contribute/medic/product-development-process/data-migration-k8s.md new file mode 100644 index 000000000..143a3326a --- /dev/null +++ b/content/en/contribute/medic/product-development-process/data-migration-k8s.md @@ -0,0 +1,399 @@ +--- +title: "Migration from CHT 3.x to CHT 4.x in Kubernetes" +linkTitle: "K8s Data Migration to 4.x" +weight: 1 +description: > + Guide to migrate existing data from CHT 3.x to CHT 4.x in Kubernetes environments +relatedContent: > +--- + +Like the [Deploy to EKS guide]({{< relref "contribute/medic/product-development-process/deploy-on-eks" >}}), this guide is meant for Medic Teammates migrating Medic hosted CHT Core deployments. However, given there may be other users who will benefit from understanding the process, this document is published for all to read. + +CHT Core hosting architecture differs entirely between 3.x and 4.x. When both versions are running in Kubernetes, migrating data requires specific steps using the [couchdb-migration](https://github.com/medic/couchdb-migration) tool. This tool interfaces with CouchDB to update shard maps and database metadata. + +{{% alert title="Note" %}} +If after upgrading you get an error, `Cannot convert undefined or null to object` - please see [issue #8040](https://github.com/medic/cht-core/issues/8040) for a work around. This only affects CHT 4.0.0, 4.0.1, 4.1.0 and 4.1.1. It was fixed in CHT 4.2.0. +{{% /alert %}} + + +## Initial Setup + +```shell +# Set your namespace +NAMESPACE= +``` + +## Access the Source CouchDB (3.x) +```shell +# List all pods to find medic-os pod +kubectl get pods -n $NAMESPACE + +# Access the medic-os pod +kubectl exec -it -n $NAMESPACE -- bash +``` + +## Set Up Migration Tool Inside 3.x Pod + +Once inside the pod, install required dependencies: +```shell +# Add node apt repository and update apt +curl -fsSL https://deb.nodesource.com/setup_16.x | bash - +apt update + +# Ensure nodejs, npm and git are installed +apt install -y nodejs npm git + +# clone repository +git clone https://github.com/medic/couchdb-migration.git +cd couchdb-migration +npm ci --omit=dev + +# Create a global symlink to enable running commands directly +# Note: This may require sudo if npm's global directories aren't writable +npm link +``` + +## Run Pre-Migration Commands on 3.x + +While still `exec`ed in the `medic-os` container, get credentials from 1Password and set them inside the pod: +```shell +export ADMIN_USER= +export ADMIN_PASSWORD= + +# Set COUCH_URL +export COUCH_URL="http://${ADMIN_USER}:${ADMIN_PASSWORD}@localhost:5984" + +# Verify connection +curl -s $COUCH_URL/_up +``` + +Pre-index views to minimize downtime: +```shell +pre-index-views +``` + +{{% alert title="Note" %}} +If pre-indexing is omitted, 4.x API will fail to respond to requests until all views are indexed. For large databases, this could take many hours or days. +{{% /alert %}} + +Save CouchDB configuration: +```shell +get-env +``` + +Save the output containing: +- CouchDB secret (used for encrypting passwords and session tokens) +- CouchDB server UUID (used for replication checkpointing) +- CouchDB admin credentials + +You can now exit the medic-os container by running `exit`. + +## Clone the 3.x Data Volume + +First, identify the volume ID from your 3.x data: +```shell +# Get the PVC name +kubectl get pvc -n $NAMESPACE + +# Get the volume ID from the PVC +VOLUME_ID=$(kubectl get pvc -n $NAMESPACE -o jsonpath='{.spec.volumeName}') +EBS_VOLUME_ID=$(kubectl get pv $VOLUME_ID -o jsonpath='{.spec.awsElasticBlockStore.volumeID}' | cut -d'/' -f4) + +echo "Your 3.x EBS Volume ID is: $EBS_VOLUME_ID" + +# Create a snapshot of the 3.x volume +SNAPSHOT_ID=$(aws ec2 create-snapshot \ + --region eu-west-2 \ + --volume-id $EBS_VOLUME_ID \ + --description "CHT 3.x to 4.x migration snapshot" \ + --query 'SnapshotId' \ + --output text) + +echo "Created snapshot: $SNAPSHOT_ID" + +# Wait for the snapshot to complete +aws ec2 wait snapshot-completed --snapshot-ids $SNAPSHOT_ID + +# Set cluster-specific variables +# For development: +AVAILABILITY_ZONE="eu-west-2b" +CLUSTER_NAME="dev-cht-eks" + +# For production, comment out above and uncomment below: +# AVAILABILITY_ZONE="eu-west-2a" +# CLUSTER_NAME="prod-cht-eks" + +# Create a new volume from the snapshot +NEW_VOLUME_ID=$(aws ec2 create-volume \ + --region eu-west-2 \ + --availability-zone $AVAILABILITY_ZONE \ + --snapshot-id $SNAPSHOT_ID \ + --volume-type gp2 \ + --query 'VolumeId' \ + --output text) + +echo "Created new volume: $NEW_VOLUME_ID" + +# Tag the new volume for Kubernetes use +aws ec2 create-tags \ + --resources $NEW_VOLUME_ID \ + --tags Key=kubernetes.io/cluster/$CLUSTER_NAME,Value=owned Key=KubernetesCluster,Value=$CLUSTER_NAME + +# Verify your tags took effect +aws ec2 describe-volumes --region eu-west-2 --volume-id $NEW_VOLUME_ID | jq '.Volumes[0].Tags' +``` + +## Deploy CHT 4.x with Existing Data + +Create a `values.yaml` file using the volume ID from the previous step: + +For single node deployment, create a YAML file with this contents, being sure to update: + +* `` (_two occurrences_) +* `` - 4.x version you're upgrading too +* `` - retrieved from `get-env` call above +* `` - retrieved from `get-env` call above +* `` - needs to be the same as used in 3.x - likely `medic` +* `` - retrieved from `get-env` call above +* `` - Size of original 3.x EBS volume, eg `100Mi` for 100 Megabytes or `100Gi` for 100 Gigabytes (_two occurrences_) +* `` - For production use `prod-couchdb-only`, for dev use `dev-couchdb-only` +* `` - For production use `prod-cht-alb`, for dev use `dev-cht-alb` +* `` - For production use `prod`, for dev use `dev` +* `` - For production use `SRE`, for dev use `QA` +* `` - For production use `your-url.app.medicmobile.org`, for dev use `your-url.dev.medicmobile.org` +* `load_balancer` - For dev, use: `dualstack.k8s-devchtalb-3eb0781cbb-694321496.eu-west-2.elb.amazonaws.com` For prod, use: `k8s-prodchtalb-dcc00345ac-1792311525.eu-west-2.elb.amazonaws.com` +* `certificate` - Inquire what the latest certificates are. For 2024 dev, use: `arn:aws:iam::720541322708:server-certificate/2024-wildcard-dev-medicmobile-org-chain`. For 2024 prod, use: `arn:aws:iam::720541322708:server-certificate/2024-wildcard-app-medicmobile-org-chain`. +* `` - `NEW_VOLUME_ID` from previous step, is volume containing 3.x data + +```yaml +project_name: "" +namespace: "" +chtversion: + +upstream_servers: + docker_registry: "public.ecr.aws/medic" + builds_url: "https://staging.dev.medicmobile.org/_couch/builds_4" +upgrade_service: + tag: 0.32 + +couchdb: + password: "" + secret: "" + user: "" + uuid: "" + clusteredCouch_enabled: false + couchdb_node_storage_size: "" + +toleration: + key: "" + operator: "Equal" + value: "true" + effect: "NoSchedule" + +ingress: + annotations: + groupname: "" + tags: "Environment=,Team=" + certificate: "" + host: "" + hosted_zone_id: "Z3304WUAJTCM7P" + load_balancer: "" + +environment: "remote" +cluster_type: "eks" +cert_source: "eks-medic" + +couchdb_data: + preExistingDataAvailable: "true" + dataPathOnDiskForCouchDB: "storage/medic-core/couchdb/data" + partition: "0" + +ebs: + preExistingEBSVolumeID-1: "" + preExistingEBSVolumeSize: "" + +``` + +A Note about the following section: + +```yaml +couchdb_data: + preExistingDataAvailable: "true" + dataPathOnDiskForCouchDB: "storage/medic-core/couchdb/data" # Use subPath from 3.x instance + partition: "0" + +``` +The value for partition is usually `"0"` - not partitioned. If you would like to change this, you can go to your 3.x pod and run `df -h` and observe if the existing data is on a specific partition. You then update this value to be the partition number. + +For a clustered deployment, create a YAML file with this contents, being sure to update: + +* `` (two occurrences) +* `` - 4.x version you're upgrading too +* `` - retrieved from `get-env` call above +* `` - retrieved from `get-env` call above +* `` - needs to be the same as used in 3.x - likely `medic` +* `` - retrieved from `get-env` call above +* `` - Size of original 3.x EBS volume, eg `100Mi` for 100 Megabytes or `100Gi` for 100 Gigabytes (_two occurrences_) +* `` - For production use `prod-couchdb-only`, for dev use `dev-couchdb-only` +* `` - For production use `prod-cht-alb`, for dev use `dev-cht-alb` +* `` - For production use `prod`, for dev use `dev` +* `` - For production use `SRE`, for dev use `QA` +* `` - For production use `your-url.app.medicmobile.org`, for dev use `your-url.dev.medicmobile.org` +* `` - For dev, use: `dualstack.k8s-devchtalb-3eb0781cbb-694321496.eu-west-2.elb.amazonaws.com` For prod, use: `k8s-prodchtalb-dcc00345ac-1792311525.eu-west-2.elb.amazonaws.com` +* `` - Inquire what the latest certificates are. For 2024 dev, use: `arn:aws:iam::720541322708:server-certificate/2024-wildcard-dev-medicmobile-org-chain`. For 2024 prod, use: `arn:aws:iam::720541322708:server-certificate/2024-wildcard-app-medicmobile-org-chain`. +* `` - `NEW_VOLUME_ID` from previous step, is volume containing 3.x data + +```yaml +project_name: "" +namespace: "" +chtversion: + +upstream_servers: + docker_registry: "public.ecr.aws/medic" + builds_url: "https://staging.dev.medicmobile.org/_couch/builds_4" +upgrade_service: + tag: 0.32 + +couchdb: + password: "" + secret: "" + user: "" + uuid: "" + clusteredCouch_enabled: true + couchdb_node_storage_size: "" + +clusteredCouch: # Only relevant if clusteredCouch_enabled is true + noOfCouchDBNodes: 3 + +toleration: + key: "" + operator: "Equal" + value: "true" + effect: "NoSchedule" + +ingress: + annotations: + groupname: "" + tags: "Environment=,Team=" + certificate: "" + host: "" + hosted_zone_id: "Z3304WUAJTCM7P" + load_balancer: "" + +environment: "remote" +cluster_type: "eks" +cert_source: "eks-medic" + +# Only need to specify nodes if deploying on k3s and want to use specific nodes for CouchDB pods +#nodes: +# node-1: # Only for k3s deployments +# node-2: # Only for k3s deployments +# node-3: # Only for k3s deployments + +couchdb_data: + preExistingDataAvailable: "true" + dataPathOnDiskForCouchDB: "storage/medic-core/couchdb/data" # Use subPath from 3.x instance + partition: "0" + +ebs: + preExistingEBSVolumeID-1: "" + preExistingEBSVolumeID-2: "" # Leave empty for secondary nodes + preExistingEBSVolumeID-3: "" # Leave empty for tertiary nodes + preExistingEBSVolumeSize: "" +``` + +A Note about the following section: + +```yaml +couchdb_data: + preExistingDataAvailable: "true" + dataPathOnDiskForCouchDB: "storage/medic-core/couchdb/data" # Use subPath from 3.x instance + partition: "0" + +``` +The value for partition is usually `"0"` - not partitioned. If you would like to change this, you can go to your 3.x pod and run `df -h` and observe if the existing data is on a specific partition. You then update this value to be the partition number. + +Deploy using cht-deploy script from cht-core repository: +```shell +cd cht-core/scripts/deploy +./cht-deploy -f PATH_TO/values.yaml +``` + +## Verify Deployment and Run Migration Commands + +First verify CouchDB is running properly: +```shell +# Check pod status +kubectl get pods -n $NAMESPACE + +# For single node check CouchDB is up +kubectl exec -it -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l cht.service=couchdb -o name) -- \ + curl -s http://localhost:5984/_up + +# For clustered setup (check all nodes) +kubectl exec -it -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l cht.service=couchdb-1 -o name) -- \ + curl -s http://localhost:5984/_up +``` + +Access the new CouchDB pod based on your deployment type. + +For single node: +```shell +kubectl exec -it -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l cht.service=couchdb -o name) -- bash +``` + +For clustered setup (always use couchdb-1): +```shell +kubectl exec -it -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l cht.service=couchdb-1 -o name) -- bash +``` + +Once inside the pod, set up the migration tool again: +```shell +curl -fsSL https://deb.nodesource.com/setup_16.x | bash - +apt install -y nodejs npm git +git clone https://github.com/medic/couchdb-migration.git +cd couchdb-migration +npm ci --omit=dev + +# Create a global symlink to enable running commands directly +# Note: This may require sudo if npm's global directories aren't writable +npm link + +# Set up CouchDB connection +export ADMIN_USER= +export ADMIN_PASSWORD= +export COUCH_URL="http://${ADMIN_USER}:${ADMIN_PASSWORD}@localhost:5984" + +# Verify CouchDB is up and responding +check-couchdb-up +``` + +For single node deployment: +```shell +move-node +verify +``` + +For clustered deployment: + +{{% alert title="Note" %}} +For clustered setups, shards must be moved both in software (using the migration commands) and physically (the actual data must be moved between EBS volumes). Follow the instructions from shard-move-instructions carefully. +{{% /alert %}} + + +```shell +# Generate distribution matrix +shard_matrix=$(generate-shard-distribution-matrix) + +# Get movement instructions +shard-move-instructions $shard_matrix + +# After moving shards according to instructions +move-shards $shard_matrix + +# Remove old node from cluster +remove-node couchdb@127.0.0.1 + +# Verify the migration +verify +``` From 4ba4782ae6562aed1832906c329a530429fc44df Mon Sep 17 00:00:00 2001 From: Diana Barsan <35681649+dianabarsan@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:27:29 +0300 Subject: [PATCH 12/16] chore(): adds rules about breaking changes in pipeline models (#1703) --- .../hosting/analytics/building-dbt-models.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/content/en/hosting/analytics/building-dbt-models.md b/content/en/hosting/analytics/building-dbt-models.md index ba5400cb7..6066ee5f3 100644 --- a/content/en/hosting/analytics/building-dbt-models.md +++ b/content/en/hosting/analytics/building-dbt-models.md @@ -366,6 +366,26 @@ WHERE To be performant, the table from this model is reading form needs to have the `saved_timestamp` column indexed. +## Breaking changes +Due to the way models can be imported, extended, and built upon, it's necessary to take precautions against breaking backwards compatibility when making changes upstream. +Model collections should be versioned, following semver rules, and breaking changes should only be published in major releases. + +Examples of changes that are considered breaking: +- deleting/renaming a model +- deleting/renaming a field +- changing a field data type +- changing a field data definition significantly +- removing/changing an index +- removing/changing a macro + +Examples of changes that are not considered breaking: +- adding a model +- adding a field +- updating an existent field data definition to fix a bug +- adding a macro +- adding an index +- adding tests + ## Database disk space requirements The disk space required for the database depends on a few things including the size the of CouchDB databases being replicated, and the [models]({{< relref "hosting/analytics/building-dbt-models" >}}) defined. The database will grow over time as more data is added to CouchDB. The database should be monitored to ensure that it has enough space to accommodate the data. To get an idea of the size requirements of the database, you can replicate 10% of the data from CouchDB to Postgres and then run the following command to see disk usage: ```shell From 1a1428ee9e161f6578dfc83f43308707d85bd703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatiana=20L=C3=A9piz=20Soto?= <94494491+tatilepizs@users.noreply.github.com> Date: Fri, 29 Nov 2024 09:16:59 -0600 Subject: [PATCH 13/16] chore: add section to debug e2e tests (#1724) --- content/en/contribute/code/core/automated-tests.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/contribute/code/core/automated-tests.md b/content/en/contribute/code/core/automated-tests.md index a0cc544b0..05e875086 100644 --- a/content/en/contribute/code/core/automated-tests.md +++ b/content/en/contribute/code/core/automated-tests.md @@ -154,6 +154,10 @@ Setting the `DEBUG` environment variable (e.g. [`DEBUG=true npm run wdio-local`] - Prevent Mocha from automatically retrying tests that fail (by default a failing test is retried 5 times, details in the [`wdio.conf`](https://github.com/medic/cht-core/blob/master/tests/wdio.conf.js#L198)file) - Prevent the `cht-e2e` Docker containers from being torn down after the test finishes +#### Run the e2e tests without re-building docker images + +After the tests are executed the first time using the command `npm run wdio-local`, the docker images are built in your local environment using the checkout branch name. If it is needed to run the tests repeatedly and there is a certainty that the cht-core code didn't change, you can use the command `npm run ci-webdriver-default`. This command will execute the e2e tests as they are run with the `wdio-local` command but without re-building the images. This command uses the images that were built previously, which makes the process faster. + #### Read the logs Read the failure carefully - it often has really good info but sometimes it's just hard to find. Most importantly it tells you exactly the line in the test that failed and you can look that up in the source to see what it was trying to do. The error message itself is also really useful. Also sometimes one error causes the next, so always start with the first test failure before looking at the others. From af66e9d25b6975d9c1b59a78447da7991d4827a8 Mon Sep 17 00:00:00 2001 From: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> Date: Mon, 2 Dec 2024 00:30:49 -0800 Subject: [PATCH 14/16] Update preparing-for-4.md (#1697) * Update preparing-for-4.md * Update content/en/building/guides/updates/preparing-for-4.md --- content/en/building/guides/updates/preparing-for-4.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/en/building/guides/updates/preparing-for-4.md b/content/en/building/guides/updates/preparing-for-4.md index ced66161b..b70f5135d 100644 --- a/content/en/building/guides/updates/preparing-for-4.md +++ b/content/en/building/guides/updates/preparing-for-4.md @@ -16,8 +16,7 @@ description: > ## Introduction Medic uses [Semantic Versioning](https://en.wikipedia.org/wiki/Semver#Semantic_versioning) (aka "SemVer") which means that the CHT upgrade from the major 3.x version to the 4.x version denotes there are breaking changes. The key to a successful upgrade will be to understand and plan for these breaking changes. Aside from the Docker hosting infrastructure (out of scope for this prep document), the two breaking changes are around CHT Android and Enketo. - -While CHT 4.0 has not been released yet, the effort to be prepared can be quite time consuming, especially for large deployments that may need to do handset upgrades in a worst case. The sooner deployments start preparing for the upgrade, the easier it will be when it comes to the upgrade itself. Conveniently, all device and Android app changes to prepare for 4.x are backwards compatible with 3.x. Prepare now, so you will be ready to upgrade sooner than later! +Upgrading to CHT 4.0 can be quite time consuming, especially for large deployments that may need to do handset upgrades in a worst case. The sooner deployments start preparing for the upgrade, the easier it will be when it comes to the upgrade itself. Conveniently, all device and Android app changes to prepare for 4.x are backwards compatible with 3.x. Prepare now, so you will be ready to upgrade sooner than later! ## CHT Android v1.0.0+ From 070d1afbf25f33ccb5ba7d9c6d6906b6077e3fdb Mon Sep 17 00:00:00 2001 From: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> Date: Mon, 2 Dec 2024 07:14:16 -0800 Subject: [PATCH 15/16] Forms section migration and consolidation (#1696) * Forms section * move uhc and others * Update content/en/building/cht-forms/_index.md Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com> * Review feedback * Update content/en/building/cht-forms/_index.md Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com> * cht-forms to forms * Fix 404s * Fix grep results * Configuring forms to forms --------- Co-authored-by: mrjones <8253488+mrjones-plip@users.noreply.github.com> --- content/en/building/concepts/care-guides.md | 2 +- .../building/contact-management/contacts.md | 2 +- .../contact-summary-templated.md | 4 ++-- content/en/building/examples/anc.md | 4 ++-- .../examples/covid-rdt-reference-app.md | 10 ++++----- .../en/building/examples/direct-to-client.md | 2 +- .../examples/supervisor-reference-app.md | 2 +- .../en/building/features/messaging/_index.md | 2 +- .../en/building/features/reports/_index.md | 4 ++-- .../en/building/features/uhc-mode/_index.md | 4 ++-- .../{concepts/forms.md => forms/_index.md} | 21 +++++++----------- .../en/building/{reference => }/forms/app.md | 19 ++++++++-------- .../building/{reference => }/forms/collect.md | 3 ++- .../en/building/forms/configuring/_index.md | 10 +++++++++ .../configuring}/additional-docs.md | 8 +++---- .../additional-docs/linked_docs_xlsform.png | Bin .../additional-docs/repeated_docs_xlsform.png | Bin .../configuring}/app-form-sms.md | 7 +++--- .../contact/place-contact-form-survey.png | Bin .../configuring}/form-inputs.md | 8 +++---- .../configuring}/google-drive.md | 3 ++- .../forms => forms/configuring}/multimedia.md | 7 +++--- .../configuring}/report-titles.md | 1 + .../forms => forms/configuring}/uhc-mode.md | 1 + .../configuring}/uhc-mode/UHC.gif | Bin .../configuring}/uhc-mode/sort-dropdown.png | Bin .../configuring}/wealth-quintiles.md | 3 +-- .../building/{reference => }/forms/contact.md | 15 +++++++------ .../{tutorials => forms}/form-properties.md | 10 ++++----- .../building/{guides => }/forms/versioning.md | 7 +++--- .../en/building/guides/data/csv-to-docs.md | 4 ++-- content/en/building/guides/forms/_index.md | 9 -------- .../guides/integrations/dhis2-aggregate.md | 4 ++-- .../en/building/guides/integrations/oppia.md | 2 +- .../messaging/gateways/africas-talking.md | 2 +- .../guides/messaging/gateways/rapidpro.md | 2 +- .../guides/messaging/message-loops.md | 2 +- .../guides/updates/preparing-for-4.md | 2 +- .../en/building/reference/extension-libs.md | 2 +- content/en/building/reference/forms/_index.md | 13 ----------- .../tasks/managing-tasks/pass-data-to-form.md | 2 +- .../training-cards-configuration.md | 8 +++---- .../translations/localizing-translations.md | 2 +- content/en/building/tutorials/app-forms.md | 10 ++++----- .../tutorials/application-graphics.md | 2 +- .../en/building/tutorials/sms-schedules.md | 4 ++-- .../en/building/workflows/death-reporting.md | 4 ++-- content/en/core/releases/3.14.0.md | 2 +- content/en/core/releases/4.2.0.md | 2 +- content/en/core/releases/4.6.0.md | 2 +- content/en/design/best-practices/_index.md | 2 +- 51 files changed, 116 insertions(+), 125 deletions(-) rename content/en/building/{concepts/forms.md => forms/_index.md} (54%) rename content/en/building/{reference => }/forms/app.md (97%) rename content/en/building/{reference => }/forms/collect.md (97%) create mode 100644 content/en/building/forms/configuring/_index.md rename content/en/building/{guides/forms => forms/configuring}/additional-docs.md (97%) rename content/en/building/{guides/forms => forms/configuring}/additional-docs/linked_docs_xlsform.png (100%) rename content/en/building/{guides/forms => forms/configuring}/additional-docs/repeated_docs_xlsform.png (100%) rename content/en/building/{guides/forms => forms/configuring}/app-form-sms.md (97%) rename content/en/building/{reference/forms => forms/configuring}/contact/place-contact-form-survey.png (100%) rename content/en/building/{guides/forms => forms/configuring}/form-inputs.md (98%) rename content/en/building/{guides/forms => forms/configuring}/google-drive.md (97%) rename content/en/building/{guides/forms => forms/configuring}/multimedia.md (96%) rename content/en/building/{guides/forms => forms/configuring}/report-titles.md (96%) rename content/en/building/{guides/forms => forms/configuring}/uhc-mode.md (98%) rename content/en/building/{guides/forms => forms/configuring}/uhc-mode/UHC.gif (100%) rename content/en/building/{guides/forms => forms/configuring}/uhc-mode/sort-dropdown.png (100%) rename content/en/building/{guides/forms => forms/configuring}/wealth-quintiles.md (98%) rename content/en/building/{reference => }/forms/contact.md (92%) rename content/en/building/{tutorials => forms}/form-properties.md (93%) rename content/en/building/{guides => }/forms/versioning.md (95%) delete mode 100644 content/en/building/guides/forms/_index.md delete mode 100644 content/en/building/reference/forms/_index.md diff --git a/content/en/building/concepts/care-guides.md b/content/en/building/concepts/care-guides.md index dd09cc9d0..98cbed365 100644 --- a/content/en/building/concepts/care-guides.md +++ b/content/en/building/concepts/care-guides.md @@ -5,7 +5,7 @@ description: > Taking health workers through care protocols and providing decision support keywords: care-guides relatedContent: > - building/concepts/forms + building/forms building/tasks/#care-guides building/contact-summary/contact-summary-templated/#care-guides aliases: diff --git a/content/en/building/contact-management/contacts.md b/content/en/building/contact-management/contacts.md index 86ffe186e..6e3b972a3 100644 --- a/content/en/building/contact-management/contacts.md +++ b/content/en/building/contact-management/contacts.md @@ -6,7 +6,7 @@ description: > Contacts and users overview keywords: hierarchy contacts care-guides relatedContent: > - building/reference/forms/contact + building/forms/contact building/contact-summary/contact-summary-templated building/contact-management/moving-contacts building/contact-management/contact-and-users-1 diff --git a/content/en/building/contact-summary/contact-summary-templated.md b/content/en/building/contact-summary/contact-summary-templated.md index ea94143b1..b2d73fdaa 100644 --- a/content/en/building/contact-summary/contact-summary-templated.md +++ b/content/en/building/contact-summary/contact-summary-templated.md @@ -5,7 +5,7 @@ weight: 2 description: > Customizing the fields, cards, and actions on profile pages relatedContent: > - building/guides/forms/form-inputs + building/forms/configuring/form-inputs relevantLinks: > docs/building/features/contacts docs/building/concepts/hierarchies @@ -87,7 +87,7 @@ Each condition card is defined as a card object in the `cards` array of `contact ## Care Guides -Each care guide accessible from a contact profile is defined as an [App Form]({{< ref "building/reference/forms/app" >}}). Context information can be provided to forms via the `context` object of `contact-summary.templated.js`. +Each care guide accessible from a contact profile is defined as an [App Form]({{< ref "building/forms/app" >}}). Context information can be provided to forms via the `context` object of `contact-summary.templated.js`. To show an App Form on a contact's profile, the form's `expression` field in its properties file must evaluate to true for that contact. The context information from the profile is accessible as the variable `summary`. diff --git a/content/en/building/examples/anc.md b/content/en/building/examples/anc.md index c0a0974cf..40bbe1d9d 100644 --- a/content/en/building/examples/anc.md +++ b/content/en/building/examples/anc.md @@ -6,7 +6,7 @@ description: > Reference application for maternal and newborn care for CHW's using a mobile app relatedContent: > building/concepts - building/reference/forms/app + building/forms/app building/tasks/tasks-js aliases: - /apps/examples/anc @@ -37,7 +37,7 @@ Once a [hierarchy]({{< relref "building/workflows/hierarchy" >}}) of people and {{< figure src="forms-hierarchy.png" link="forms-hierarchy.png" class="right col-12 col-lg-12" >}} -{{< see-also page="building/reference/forms/app" title="Controlling form properties" >}} +{{< see-also page="building/forms/app" title="Controlling form properties" >}} ## Workflows diff --git a/content/en/building/examples/covid-rdt-reference-app.md b/content/en/building/examples/covid-rdt-reference-app.md index dbf59cbf0..7eaf2d02c 100644 --- a/content/en/building/examples/covid-rdt-reference-app.md +++ b/content/en/building/examples/covid-rdt-reference-app.md @@ -5,9 +5,9 @@ weight: description: > CHT example application that uses a third party app to capture the result of a Rapid Diagnostic Test. relatedContent: > - building/reference/forms/app/#android-app-launcher - building/reference/forms/app/#cht-xform-widgets - building/reference/forms/app/#parse-timestamp-to-date + building/forms/app/#android-app-launcher + building/forms/app/#cht-xform-widgets + building/forms/app/#parse-timestamp-to-date aliases: - /apps/examples/covid-rdt-reference-app --- @@ -41,7 +41,7 @@ For more information on these features, see the ["Related Content"](#related-con Additional requirements for this application beyond CHT 3.13, include [CHT Android 0.10.0](https://github.com/medic/cht-android) or later and Dimagi's [RD-Toolkit 0.9.8](https://github.com/dimagi/rd-toolkit/) or later. -While this application calls the RD-Toolkit, the integration features in the CHT Core and CHT Android are generic. This means you could use a different RDT Android application if you prefer. Beyond the scope of RDTs, you could use this integration feature to launch any other Android app to perform an action and save the result in the CHT. To read more about this feature, see the [Android App Launcher section in the Forms reference documentation]({{< ref "building/reference/forms/app#android-app-launcher" >}}). +While this application calls the RD-Toolkit, the integration features in the CHT Core and CHT Android are generic. This means you could use a different RDT Android application if you prefer. Beyond the scope of RDTs, you could use this integration feature to launch any other Android app to perform an action and save the result in the CHT. To read more about this feature, see the [Android App Launcher section in the Forms reference documentation]({{< ref "building/forms/app#android-app-launcher" >}}). ## Workflow @@ -165,7 +165,7 @@ These are the files in the COVID-19 app where you'll want to focus your customiz The `forms/app/covid19_rdt_provision` and `forms/app/covid19_rdt_capture` forms (`xlsx`, `xml` and `properties.json`) represent the provision and capture portions of the forms. The tasks that get created are defined in `tasks.js`. Not shown are standard contact definitions in `forms/contact/*` as well as supporting configurations for icons and other CHT application settings. -To read more about how these files all work together, see [app forms]({{< ref "building/reference/forms/app" >}}), [contact forms]({{< ref "building/reference/forms/contact" >}}), and [task]({{< ref "building/tasks/tasks-js" >}}) reference documentation +To read more about how these files all work together, see [app forms]({{< ref "building/forms/app" >}}), [contact forms]({{< ref "building/forms/contact" >}}), and [task]({{< ref "building/tasks/tasks-js" >}}) reference documentation ## Example form submission diff --git a/content/en/building/examples/direct-to-client.md b/content/en/building/examples/direct-to-client.md index 137607000..b85797387 100644 --- a/content/en/building/examples/direct-to-client.md +++ b/content/en/building/examples/direct-to-client.md @@ -6,7 +6,7 @@ description: > Reference for Direct-to-client, two-way texting workflows with CHT and RapidPro relatedContent: > building/concepts - building/reference/forms/app + building/forms/app building/tasks/tasks-js aliases: - /apps/examples/direct-to-client diff --git a/content/en/building/examples/supervisor-reference-app.md b/content/en/building/examples/supervisor-reference-app.md index 28bbdae4a..9330caf25 100644 --- a/content/en/building/examples/supervisor-reference-app.md +++ b/content/en/building/examples/supervisor-reference-app.md @@ -7,7 +7,7 @@ description: > relatedContent: > building/concepts building/features/supervision - building/reference/forms/app + building/forms/app building/tasks/tasks-js aliases: - /apps/examples/supervisor-reference-app diff --git a/content/en/building/features/messaging/_index.md b/content/en/building/features/messaging/_index.md index f303d8c14..1860177c8 100644 --- a/content/en/building/features/messaging/_index.md +++ b/content/en/building/features/messaging/_index.md @@ -6,7 +6,7 @@ description: > relatedContent: > building/reference/app-settings/schedules building/guides/messaging - building/guides/forms/app-form-sms + building/forms/configuring/app-form-sms aliases: - /apps/features/messaging/ --- diff --git a/content/en/building/features/reports/_index.md b/content/en/building/features/reports/_index.md index ecc9b3b66..7ffec93eb 100644 --- a/content/en/building/features/reports/_index.md +++ b/content/en/building/features/reports/_index.md @@ -6,7 +6,7 @@ description: > relatedContent: > building/reference/app-settings/patient_reports building/guides/data/invalid-reports - building/guides/forms/report-titles + building/forms/configuring/report-titles aliases: - /apps/features/reports/ --- @@ -92,7 +92,7 @@ The buttons at the bottom are configurable. The ones you see will depend on your ## Defining Forms The reports shown in your app are the completed and submitted *forms*. These forms must be defined and included with the application. There are two types of form definitions for reports: -- **App forms**: actions within the app, such as a completed task, or an action on a contact's profile or reports tab. App forms are defined as [XForms]({{< ref "building/reference/forms/app" >}}). +- **App forms**: actions within the app, such as a completed task, or an action on a contact's profile or reports tab. App forms are defined as [XForms]({{< ref "building/forms/app" >}}). - **JSON forms**: data coming from external channels such as SMS, or via interoperability with other tools. JSON forms are defined using a [JavaScript Object Notation schema]({{< ref "building/reference/app-settings/forms" >}}). diff --git a/content/en/building/features/uhc-mode/_index.md b/content/en/building/features/uhc-mode/_index.md index 7f5e7cf6d..6f666a5ad 100644 --- a/content/en/building/features/uhc-mode/_index.md +++ b/content/en/building/features/uhc-mode/_index.md @@ -5,7 +5,7 @@ weight: 11 description: > Supporting equitable and timely care to families to increase Universal Health Coverage (UHC) relatedContent: > - building/guides/forms/uhc-mode + building/forms/configuring/uhc-mode building/reference/app-settings/user-roles building/reference/app-settings/user-permissions aliases: @@ -28,4 +28,4 @@ The _UHC Mode_ in the CHT allows health workers to see when a household within t When using the _UHC Mode_, the households in the contact list can be sorted by when they were last visited. The days since the last visit is also shown in the app, along with the number of visits made to a household in a month period. ## Configurability -The last visited date is calculated based on the number of days since an action was taken for that household, and the number of visits reflects the actions taken for that household in the current month. What constitutes as an action for a household, along with the start date for the reporting period, [are configurable]({{< relref "building/guides/forms/uhc-mode" >}}) to CHT app developers. +The last visited date is calculated based on the number of days since an action was taken for that household, and the number of visits reflects the actions taken for that household in the current month. What constitutes as an action for a household, along with the start date for the reporting period, [are configurable]({{< relref "building/forms/configuring/uhc-mode" >}}) to CHT app developers. diff --git a/content/en/building/concepts/forms.md b/content/en/building/forms/_index.md similarity index 54% rename from content/en/building/concepts/forms.md rename to content/en/building/forms/_index.md index 14ab26972..e32cb6f85 100644 --- a/content/en/building/concepts/forms.md +++ b/content/en/building/forms/_index.md @@ -1,16 +1,12 @@ --- -title: "Forms" -linkTitle: "Forms" -weight: 3 +title: Forms +linkTitle: Forms +weight: 7 description: > Building block for all CHT apps -keywords: app-forms contact-forms collect-forms json-forms -relatedContent: > - building/concepts/care-guides - building/guides/forms - building/reference/forms - building/reference/app-settings/forms aliases: + - /building/reference/forms + - /building/concepts/forms - /apps/concepts/forms --- @@ -19,9 +15,8 @@ Forms are a building block of all CHT apps. They are used when creating or editi When a completed form is submitted, it is treated as a Report in the app. All reports can be viewed in the [Reports tab]({{< ref "building/features/reports" >}}) by those with the proper access within the [hierarchy]({{< ref "building/workflows/hierarchy" >}}). There are four different types of forms: -- [**Contact Forms**]({{< ref "building/reference/forms/contact" >}}): used to create and edit contacts. Defined as CHT-enhanced XForms. -- [**App Forms**]({{< ref "building/reference/forms/app" >}}): serve as actions within the app, such as a task or an action. Defined as CHT-enhanced XForms. -- [**Collect Forms**]({{< ref "building/reference/forms/collect" >}}): used to render forms in Medic Collect. Defined as ODK XForms and need a corresponding JSON form to receive data in CHT. -- [**JSON Forms**]({{< ref "building/reference/app-settings/forms" >}}): used for data coming from external channels such as SMS, or via interoperability with other tools. Defined according to a JavaScript Object Notation schema. +- [**Contact Forms**]({{< ref "building/forms/contact" >}}): used to create and edit contacts. Defined as CHT-enhanced XForms. +- [**App Forms**]({{< ref "building/forms/app" >}}): serve as actions within the app, such as a task or an action. Defined as CHT-enhanced XForms. +- [**Collect Forms**]({{< ref "building/forms/collect" >}}): used to render forms in Medic Collect. Defined as ODK XForms and need a corresponding JSON form to receive data in CHT. Forms that can be completed in the app are built using a CHT-enhanced version of [ODK XForms](https://opendatakit.github.io/xforms-spec/) notation -- a XML definition of the structure and format for a set of questions. Since writing raw XML can be tedious, the [XLSForm standard](http://xlsform.org/) is commonly used to define forms. The [cht-conf](https://github.com/medic/cht-conf) command line tool can be used to convert to the XForm format and include the form in a CHT application. The instructions on this site assume some knowledge of XLSForm. \ No newline at end of file diff --git a/content/en/building/reference/forms/app.md b/content/en/building/forms/app.md similarity index 97% rename from content/en/building/reference/forms/app.md rename to content/en/building/forms/app.md index 6a33df50f..440760106 100644 --- a/content/en/building/reference/forms/app.md +++ b/content/en/building/forms/app.md @@ -1,16 +1,17 @@ --- title: "app" linkTitle: "app" -weight: 5 +weight: 1 description: > **App Forms**: Used to complete reports, tasks, and actions in the app relevantLinks: > docs/building/concepts/workflows docs/design/best-practices relatedContent: > - building/guides/forms/form-inputs + building/forms/configuring/form-inputs keywords: workflows app-forms aliases: + - /building/reference/forms/app - /apps/reference/forms/app --- @@ -21,7 +22,7 @@ App forms are defined by the following files: - A XML form definition using a CHT-enhanced ODK XForm format - A XLSForm form definition, easier to write and converts to the XForm (optional) - Meta information in the `{form_name}.properties.json` file (optional) -- Media files in the `{form_name}-media` directory (optional). How to [include multimedia files]( {{< ref "building/guides/forms/multimedia" >}} ). +- Media files in the `{form_name}-media` directory (optional). How to [include multimedia files]( {{< ref "building/forms/configuring/multimedia" >}} ). ## XForm @@ -91,7 +92,7 @@ Some XForm widgets have been added or modified for use in CHT applications. The ### Bikram Sambat Datepicker Calendar widget using Bikram Sambat calendar, which is used by default for appropriate languages. The CHT documentation includes a [conversion tool](https://docs.communityhealthtoolkit.org/bikram-sambat/) to check the conversion between Gregorian and Bikram Sambat dates. -{{< see-also page="building/reference/forms/app" title="`to-bikram-sambat` XPath function" anchor="to-bikram-sambat" >}} +{{< see-also page="building/forms/app" title="`to-bikram-sambat` XPath function" anchor="to-bikram-sambat" >}} ### Countdown Timer @@ -109,7 +110,7 @@ The `trigger` implementation of the countdown timer is only supported for CHT ve ### Contact Selector -A dropdown field to search and select a person or place, and save their UUID in the report. The contact's data will also be mapped to fields with matching names within the containing group. If the contact selector's appearance includes `bind-id-only`, the associated data fields are not mapped. See [the form input guide]({{< ref "building/guides/forms/form-inputs#contact-selector" >}}) for an example. +A dropdown field to search and select a person or place, and save their UUID in the report. The contact's data will also be mapped to fields with matching names within the containing group. If the contact selector's appearance includes `bind-id-only`, the associated data fields are not mapped. See [the form input guide]({{< ref "building/forms/configuring/form-inputs#contact-selector" >}}) for an example. ### Rapid Diagnostic Test Capture Take a picture of a Rapid Diagnotistic Test and save it with the report. Works with [rdt-capture Android application](https://github.com/medic/rdt-capture/). To use create a string field with appearance `mrdt-verify`. @@ -312,7 +313,7 @@ _Added in 3.14.0._ This function converts a `date` to a `string` containing the value of the date formatted according to the [Bikram Sambat](https://en.wikipedia.org/wiki/Vikram_Samvat) calendar. -See also: [Bikram Sambat Datepicker]({{< ref "building/reference/forms/app#cht-xform-widgets" >}}) +See also: [Bikram Sambat Datepicker]({{< ref "building/forms/app#cht-xform-widgets" >}}) ### `z-score` @@ -349,17 +350,17 @@ The data used by this function needs to be added to CouchDB. The example below s ## Input data -`app` forms have access to a variety of [input data]({{< ref "building/guides/forms/form-inputs#app-forms" >}}) depending on the source of the form. +`app` forms have access to a variety of [input data]({{< ref "building/forms/configuring/form-inputs#app-forms" >}}) depending on the source of the form. ## CHT Special Fields Some fields in app forms control specific aspects of CHT Apps, either to bring data into forms or for a feature outside of the form. ### Quintiles -The `NationalQuintile` and `UrbanQuintile` fields on a form will be assigned to all people belonging to the place. This is helpful when household surveys have quintile information which could be used to target health services for individuals. {{< see-also prefix="Read More" page="building/guides/forms/wealth-quintiles" >}} +The `NationalQuintile` and `UrbanQuintile` fields on a form will be assigned to all people belonging to the place. This is helpful when household surveys have quintile information which could be used to target health services for individuals. {{< see-also prefix="Read More" page="building/forms/configuring/wealth-quintiles" >}} ### UHC Mode -When the `visited_contact_uuid` field is set at the top level of a form, this form is counted as a household visit in [UHC Mode]({{< relref "building/features/uhc-mode" >}}). This field must be a `calculate` field with the place UUID of the visited contact. You may run into performance issues if you configure this to look at forms submitted very frequently. {{< see-also prefix="Read More" page="building/guides/forms/uhc-mode" >}} +When the `visited_contact_uuid` field is set at the top level of a form, this form is counted as a household visit in [UHC Mode]({{< relref "building/features/uhc-mode" >}}). This field must be a `calculate` field with the place UUID of the visited contact. You may run into performance issues if you configure this to look at forms submitted very frequently. {{< see-also prefix="Read More" page="building/forms/configuring/uhc-mode" >}} ## Uploading Binary Attachments diff --git a/content/en/building/reference/forms/collect.md b/content/en/building/forms/collect.md similarity index 97% rename from content/en/building/reference/forms/collect.md rename to content/en/building/forms/collect.md index a320d0e72..984077785 100644 --- a/content/en/building/reference/forms/collect.md +++ b/content/en/building/forms/collect.md @@ -1,11 +1,12 @@ --- title: "collect" linkTitle: "collect" -weight: 5 +weight: 3 description: > **Collect Forms**: Served to the Medic Collect application keywords: collect-forms collect aliases: + - /building/reference/forms/collect - /apps/reference/forms/collect --- diff --git a/content/en/building/forms/configuring/_index.md b/content/en/building/forms/configuring/_index.md new file mode 100644 index 000000000..67ef91038 --- /dev/null +++ b/content/en/building/forms/configuring/_index.md @@ -0,0 +1,10 @@ +--- +title: Configuring +linkTitle: Configuring +weight: 4 +description: > + Configuring and using forms in the CHT +aliases: + - /building/guides/forms/ + - /apps/guides/forms/ +--- \ No newline at end of file diff --git a/content/en/building/guides/forms/additional-docs.md b/content/en/building/forms/configuring/additional-docs.md similarity index 97% rename from content/en/building/guides/forms/additional-docs.md rename to content/en/building/forms/configuring/additional-docs.md index 53c01c4b0..861c5f54a 100644 --- a/content/en/building/guides/forms/additional-docs.md +++ b/content/en/building/forms/configuring/additional-docs.md @@ -5,11 +5,11 @@ weight: description: > Integration for sending and receiving SMS relatedContent: > - building/guides/forms/app-form-sms - building/guides/forms/multimedia - building/reference/forms/contact - + building/forms/configuring/app-form-sms + building/forms/configuring/multimedia + building/forms/contact aliases: + - /building/guides/forms/additional-docs - /apps/guides/forms/additional-docs --- In version 2.13.0 and higher, you can configure app forms to generate additional docs upon submission. You can create one or more docs using variations on the configuration described below. One case where this can be used is to register a newborn from a delivery report, as shown below. First, here is an overview of what you can do and how the configuration should look in XML: diff --git a/content/en/building/guides/forms/additional-docs/linked_docs_xlsform.png b/content/en/building/forms/configuring/additional-docs/linked_docs_xlsform.png similarity index 100% rename from content/en/building/guides/forms/additional-docs/linked_docs_xlsform.png rename to content/en/building/forms/configuring/additional-docs/linked_docs_xlsform.png diff --git a/content/en/building/guides/forms/additional-docs/repeated_docs_xlsform.png b/content/en/building/forms/configuring/additional-docs/repeated_docs_xlsform.png similarity index 100% rename from content/en/building/guides/forms/additional-docs/repeated_docs_xlsform.png rename to content/en/building/forms/configuring/additional-docs/repeated_docs_xlsform.png diff --git a/content/en/building/guides/forms/app-form-sms.md b/content/en/building/forms/configuring/app-form-sms.md similarity index 97% rename from content/en/building/guides/forms/app-form-sms.md rename to content/en/building/forms/configuring/app-form-sms.md index 8068c1295..3aa3bef15 100644 --- a/content/en/building/guides/forms/app-form-sms.md +++ b/content/en/building/forms/configuring/app-form-sms.md @@ -5,10 +5,11 @@ weight: description: > Trigger calls and SMS from within the form, or send an SMS once submitted. relatedContent: > - building/guides/forms/additional-docs - building/guides/forms/multimedia - building/reference/forms/contact + building/forms/configuring/additional-docs + building/forms/configuring/multimedia + building/forms/contact aliases: + - /building/guides/forms/app-form-sms - /apps/guides/forms/app-form-sms --- diff --git a/content/en/building/reference/forms/contact/place-contact-form-survey.png b/content/en/building/forms/configuring/contact/place-contact-form-survey.png similarity index 100% rename from content/en/building/reference/forms/contact/place-contact-form-survey.png rename to content/en/building/forms/configuring/contact/place-contact-form-survey.png diff --git a/content/en/building/guides/forms/form-inputs.md b/content/en/building/forms/configuring/form-inputs.md similarity index 98% rename from content/en/building/guides/forms/form-inputs.md rename to content/en/building/forms/configuring/form-inputs.md index 14e7b4ebf..42dc8ea3b 100644 --- a/content/en/building/guides/forms/form-inputs.md +++ b/content/en/building/forms/configuring/form-inputs.md @@ -5,11 +5,11 @@ weight: description: > Data accessible from within CHT forms relatedContent: > - building/reference/forms + building/forms building/contact-summary/contact-summary-templated - building/tasks/managing-tasks/pass-data-to-form - + building/tasks/managing-tasks/pass-data-to-form aliases: + - /building/guides/forms/form-inputs - /apps/guides/forms/form-inputs --- @@ -38,7 +38,7 @@ Forms for adding contacts have access to a small group of fields contained in a #### Edit forms -Forms for editing contacts have access to _all the contact's current data_. These fields are contained in a top-level group that is named for the contact_type id of the contact being added (so `person`, `clinic`, etc). If fields in the top-level group are [edited by the form]({{< ref "building/reference/forms/contact" >}}), these changes will be saved to the contact's doc. +Forms for editing contacts have access to _all the contact's current data_. These fields are contained in a top-level group that is named for the contact_type id of the contact being added (so `person`, `clinic`, etc). If fields in the top-level group are [edited by the form]({{< ref "building/forms/contact" >}}), these changes will be saved to the contact's doc. In addition, the contact's `parent` data is hydrated so that the form has access to the data stored on the parent contact doc in the `parent` group. diff --git a/content/en/building/guides/forms/google-drive.md b/content/en/building/forms/configuring/google-drive.md similarity index 97% rename from content/en/building/guides/forms/google-drive.md rename to content/en/building/forms/configuring/google-drive.md index 17d972811..46217272c 100644 --- a/content/en/building/guides/forms/google-drive.md +++ b/content/en/building/forms/configuring/google-drive.md @@ -5,8 +5,9 @@ weight: description: > Using cht-conf to obtain form files stored in Google Drive relatedContent: > - building/guides/forms/ + building/forms/configuring/ aliases: + - /building/guides/forms/google-drive - /apps/guides/forms/google-drive --- diff --git a/content/en/building/guides/forms/multimedia.md b/content/en/building/forms/configuring/multimedia.md similarity index 96% rename from content/en/building/guides/forms/multimedia.md rename to content/en/building/forms/configuring/multimedia.md index eae896e3e..9d07edcd9 100644 --- a/content/en/building/guides/forms/multimedia.md +++ b/content/en/building/forms/configuring/multimedia.md @@ -5,10 +5,11 @@ weight: description: > How to include multimedia files in forms relatedContent: > - building/guides/forms/additional-docs - building/guides/forms/app-form-sms - building/reference/forms/contact + building/forms/configuring/additional-docs + building/forms/configuring/app-form-sms + building/forms/contact aliases: + - /building/guides/forms/multimedia - /apps/guides/forms/multimedia --- diff --git a/content/en/building/guides/forms/report-titles.md b/content/en/building/forms/configuring/report-titles.md similarity index 96% rename from content/en/building/guides/forms/report-titles.md rename to content/en/building/forms/configuring/report-titles.md index 510f554b3..f4385be3e 100644 --- a/content/en/building/guides/forms/report-titles.md +++ b/content/en/building/forms/configuring/report-titles.md @@ -8,6 +8,7 @@ relatedContent: > building/features/reports building/reference/app-settings/patient_reports aliases: + - /building/guides/forms/report-titles - /apps/guides/forms/report-titles --- diff --git a/content/en/building/guides/forms/uhc-mode.md b/content/en/building/forms/configuring/uhc-mode.md similarity index 98% rename from content/en/building/guides/forms/uhc-mode.md rename to content/en/building/forms/configuring/uhc-mode.md index d7b3fdca5..efa3d1d8c 100644 --- a/content/en/building/guides/forms/uhc-mode.md +++ b/content/en/building/forms/configuring/uhc-mode.md @@ -9,6 +9,7 @@ relatedContent: > building/reference/app-settings/user-roles building/reference/app-settings/user-permissions aliases: + - /building/guides/forms/uhc-mode - /apps/guides/forms/uhc-mode --- diff --git a/content/en/building/guides/forms/uhc-mode/UHC.gif b/content/en/building/forms/configuring/uhc-mode/UHC.gif similarity index 100% rename from content/en/building/guides/forms/uhc-mode/UHC.gif rename to content/en/building/forms/configuring/uhc-mode/UHC.gif diff --git a/content/en/building/guides/forms/uhc-mode/sort-dropdown.png b/content/en/building/forms/configuring/uhc-mode/sort-dropdown.png similarity index 100% rename from content/en/building/guides/forms/uhc-mode/sort-dropdown.png rename to content/en/building/forms/configuring/uhc-mode/sort-dropdown.png diff --git a/content/en/building/guides/forms/wealth-quintiles.md b/content/en/building/forms/configuring/wealth-quintiles.md similarity index 98% rename from content/en/building/guides/forms/wealth-quintiles.md rename to content/en/building/forms/configuring/wealth-quintiles.md index 796fbc45e..7af4d8a74 100644 --- a/content/en/building/guides/forms/wealth-quintiles.md +++ b/content/en/building/forms/configuring/wealth-quintiles.md @@ -4,9 +4,8 @@ linkTitle: "Quintiles" weight: description: > How to track wealth quintiles on the profile of each family member in the household -relatedContent: > - aliases: + - /building/guides/forms/wealth-quintiles - /apps/guides/forms/wealth-quintiles --- diff --git a/content/en/building/reference/forms/contact.md b/content/en/building/forms/contact.md similarity index 92% rename from content/en/building/reference/forms/contact.md rename to content/en/building/forms/contact.md index 382d40eb1..52684eb9c 100644 --- a/content/en/building/reference/forms/contact.md +++ b/content/en/building/forms/contact.md @@ -1,19 +1,20 @@ --- title: "contact" linkTitle: "contact" -weight: 5 +weight: 2 description: > **Contact Forms**: Used for creating and editing people and places relevantLinks: > docs/building/features/contacts docs/building/concepts/hierarchies relatedContent: > - building/guides/forms/form-inputs - building/guides/forms/additional-docs - building/guides/forms/multimedia - building/guides/forms/app-form-sms + building/forms/configuring/form-inputs + building/forms/configuring/additional-docs + building/forms/configuring/multimedia + building/forms/configuring/app-form-sms keywords: hierarchy contacts contact-forms aliases: + - /building/reference/forms/contact - /apps/reference/forms/contact --- @@ -44,7 +45,7 @@ For edit forms, the name of the top-level group should still match the contact_t #### Input data -`contact` forms have access to a variety of [input data]({{< ref "building/guides/forms/form-inputs#app-forms" >}}). +`contact` forms have access to a variety of [input data]({{< ref "building/forms/configuring/form-inputs#app-forms" >}}). ### Settings sheet @@ -52,7 +53,7 @@ The `form_id` should follow the pattern `contact:CONTACT_TYPE_ID:ACTION` where C ### Properties -Starting in cht-core release 3.10, we can now configure property files in contact create forms to show or hide them based on an expression or permission as specified in the [app form schema]({{< ref "building/reference/forms/app#formsappform_namepropertiesjson" >}}). Note: this applies only to the create form, not the contacts themselves. +Starting in cht-core release 3.10, we can now configure property files in contact create forms to show or hide them based on an expression or permission as specified in the [app form schema]({{< ref "building/forms/app#formsappform_namepropertiesjson" >}}). Note: this applies only to the create form, not the contacts themselves. {{% alert title="Note" %}} The form expression for contact forms will only have access to `user` data. The `contact` and `summary` data are [not currently available](https://github.com/medic/cht-core/issues/6612). diff --git a/content/en/building/tutorials/form-properties.md b/content/en/building/forms/form-properties.md similarity index 93% rename from content/en/building/tutorials/form-properties.md rename to content/en/building/forms/form-properties.md index 07d3a9317..a065a0444 100644 --- a/content/en/building/tutorials/form-properties.md +++ b/content/en/building/forms/form-properties.md @@ -1,14 +1,14 @@ --- title: "Setting Form Properties" -linkTitle: Form Properties -weight: 8 +linkTitle: Properties +weight: 5 description: > How to set form properties that contain meta information related to App forms relatedContent: > - building/reference/forms/app/#formsappform_namepropertiesjson + building/forms/app/#formsappform_namepropertiesjson design/best-practices - aliases: + - /building/tutorials/form-properties - /apps/tutorials/form-properties --- @@ -22,7 +22,7 @@ You will be adding meta-data and context to an assessment workflow that allows C ## Brief Overview of Key Concepts -*[Form context]({{< ref "building/reference/forms/app#formsappform_namepropertiesjson" >}})* defines when and where the form should be available in the app. +*[Form context]({{< ref "building/forms/app#formsappform_namepropertiesjson" >}})* defines when and where the form should be available in the app. ## Required Resources diff --git a/content/en/building/guides/forms/versioning.md b/content/en/building/forms/versioning.md similarity index 95% rename from content/en/building/guides/forms/versioning.md rename to content/en/building/forms/versioning.md index 9bfaf6ab6..fc7feff54 100644 --- a/content/en/building/guides/forms/versioning.md +++ b/content/en/building/forms/versioning.md @@ -1,12 +1,13 @@ --- -title: "Versioning forms" -linkTitle: "Versioning forms" -weight: +title: Versioning forms +linkTitle: Versioning +weight: 6 description: > Record the version of the form when creating reports relatedContent: > building/features/reports aliases: + - /building/guides/forms/versioning - /apps/guides/forms/versioning --- diff --git a/content/en/building/guides/data/csv-to-docs.md b/content/en/building/guides/data/csv-to-docs.md index 3208312b0..e16ddea11 100644 --- a/content/en/building/guides/data/csv-to-docs.md +++ b/content/en/building/guides/data/csv-to-docs.md @@ -5,8 +5,8 @@ weight: 17 description: > Seeding data with cht-conf relatedContent: > - building/guides/forms/additional-docs - building/reference/forms/contact + building/forms/configuring/additional-docs + building/forms/contact aliases: - /apps/guides/data/csv-to-docs --- diff --git a/content/en/building/guides/forms/_index.md b/content/en/building/guides/forms/_index.md deleted file mode 100644 index db7831bf6..000000000 --- a/content/en/building/guides/forms/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Building and Maintaining Forms" -linkTitle: "Forms" -weight: 100 -description: > - Managing and using forms in the CHT -aliases: - - /apps/guides/forms/ ---- \ No newline at end of file diff --git a/content/en/building/guides/integrations/dhis2-aggregate.md b/content/en/building/guides/integrations/dhis2-aggregate.md index ed8a5b118..00491cefe 100644 --- a/content/en/building/guides/integrations/dhis2-aggregate.md +++ b/content/en/building/guides/integrations/dhis2-aggregate.md @@ -45,7 +45,7 @@ Once you obtain the list of data elements on the data set, be sure to go through {{% /alert %}} -{{< see-also page="building/concepts/forms" title="Forms" >}} +{{< see-also page="building/forms" title="Forms" >}} ### Workflows and User Access @@ -79,7 +79,7 @@ Update the contact document of each place you wish to map to an organisation uni {{% /alert %}} -{{< see-also page="building/reference/forms/contact" title="Contact Forms" >}} +{{< see-also page="building/forms/contact" title="Contact Forms" >}} ```json { diff --git a/content/en/building/guides/integrations/oppia.md b/content/en/building/guides/integrations/oppia.md index 9b3d0ed01..17347b5de 100644 --- a/content/en/building/guides/integrations/oppia.md +++ b/content/en/building/guides/integrations/oppia.md @@ -22,7 +22,7 @@ The training modules configuration consists of five main components: ### App Forms -The CHT application uses [XLSForms]({{< ref "building/reference/forms/app" >}}) (app forms), which are a simplified method of setting up form configurations using Excel (or Libre Office Calc, Google sheets, etc). The forms contain the questions/content that the user will interact with, including [web links](https://oppiamobile.readthedocs.io/en/latest/implementers/integration/launch_from_other_app.html) that enable the users to navigate from the CHT application to a specific course in OppiaMobile. App forms are typically created in the `project-folder > forms > app` directory of a project. If the content requires a user to access any form of media, then a media folder for the specific form is created and named after the form. For example, to add video content for a form module_one.xlsx, save the video file to the following directory: `project-folder > forms > app > module_one-media > video`. Once the forms are set up with content, the forms are converted to XForms, which are in xml format. To limit access of App Forms to certain contacts, an App Forms must have a properties file, which defines when and for whom certain forms should be accessed. Once configured, the forms are uploaded to an instance using the CHT configurer with the following commands, which upload specific forms and all forms respectively: +The CHT application uses [XLSForms]({{< ref "building/forms/app" >}}) (app forms), which are a simplified method of setting up form configurations using Excel (or Libre Office Calc, Google sheets, etc). The forms contain the questions/content that the user will interact with, including [web links](https://oppiamobile.readthedocs.io/en/latest/implementers/integration/launch_from_other_app.html) that enable the users to navigate from the CHT application to a specific course in OppiaMobile. App forms are typically created in the `project-folder > forms > app` directory of a project. If the content requires a user to access any form of media, then a media folder for the specific form is created and named after the form. For example, to add video content for a form module_one.xlsx, save the video file to the following directory: `project-folder > forms > app > module_one-media > video`. Once the forms are set up with content, the forms are converted to XForms, which are in xml format. To limit access of App Forms to certain contacts, an App Forms must have a properties file, which defines when and for whom certain forms should be accessed. Once configured, the forms are uploaded to an instance using the CHT configurer with the following commands, which upload specific forms and all forms respectively: ``` cht --instance= convert-app-forms upload-app-forms -- diff --git a/content/en/building/guides/messaging/gateways/africas-talking.md b/content/en/building/guides/messaging/gateways/africas-talking.md index 28524f7c0..9ca800b67 100644 --- a/content/en/building/guides/messaging/gateways/africas-talking.md +++ b/content/en/building/guides/messaging/gateways/africas-talking.md @@ -9,7 +9,7 @@ aliases: - /apps/guides/messaging/gateways/africas-talking/ relatedContent: > building/reference/app-settings/sms - building/guides/forms/app-form-sms + building/forms/configuring/app-form-sms building/guides/messaging/sms-states building/guides/messaging/message-loops building/guides/messaging/shortcodes diff --git a/content/en/building/guides/messaging/gateways/rapidpro.md b/content/en/building/guides/messaging/gateways/rapidpro.md index 90a4860fd..6789ad1bf 100644 --- a/content/en/building/guides/messaging/gateways/rapidpro.md +++ b/content/en/building/guides/messaging/gateways/rapidpro.md @@ -8,7 +8,7 @@ aliases: - /apps/guides/messaging/rapidpro relatedContent: > building/reference/app-settings/sms - building/guides/forms/app-form-sms + building/forms/configuring/app-form-sms building/guides/messaging/sms-states building/guides/messaging/message-loops building/guides/messaging/shortcodes diff --git a/content/en/building/guides/messaging/message-loops.md b/content/en/building/guides/messaging/message-loops.md index f9707b5a9..087d8036d 100644 --- a/content/en/building/guides/messaging/message-loops.md +++ b/content/en/building/guides/messaging/message-loops.md @@ -5,7 +5,7 @@ weight: 90 description: > How to avoid messaging loops relatedContent: > - building/guides/forms/app-form-sms + building/forms/configuring/app-form-sms building/guides/messaging/sms-states building/guides/messaging/shortcodes aliases: diff --git a/content/en/building/guides/updates/preparing-for-4.md b/content/en/building/guides/updates/preparing-for-4.md index b70f5135d..0717236cb 100644 --- a/content/en/building/guides/updates/preparing-for-4.md +++ b/content/en/building/guides/updates/preparing-for-4.md @@ -206,7 +206,7 @@ After pushing your app config (see "CHT Conf" above), you can proceed to go thro #### New XPath functions * Custom CHT functions: - * [`add-date`]({{< relref "building/reference/forms/app#add-date" >}}) - Adds the provided number of years/months/days/hours/minutes to a date value. + * [`add-date`]({{< relref "building/forms/app#add-date" >}}) - Adds the provided number of years/months/days/hours/minutes to a date value. * ODK Functions: * Repeats and other node sets: * [`position`](https://docs.getodk.org/form-operators-functions/#position) - Returns the current iteration index within a repeat group. diff --git a/content/en/building/reference/extension-libs.md b/content/en/building/reference/extension-libs.md index 8ed1508ee..90cbf50f9 100644 --- a/content/en/building/reference/extension-libs.md +++ b/content/en/building/reference/extension-libs.md @@ -88,4 +88,4 @@ The function will now be available via the CHT API for [tasks]({{< ref "building #### CHT xPath functions -To execute the function from within an xform use the [`cht:extension-lib` xpath function]({{< ref "forms/app#chtextension-lib" >}}). +To execute the function from within an xform use the [`cht:extension-lib` xpath function]({{< ref "building/forms/app#chtextension-lib" >}}). diff --git a/content/en/building/reference/forms/_index.md b/content/en/building/reference/forms/_index.md deleted file mode 100644 index ff4a8c122..000000000 --- a/content/en/building/reference/forms/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "forms/" -linkTitle: "forms/" -weight: 2 -description: > - **Forms**: All the App forms, Contact forms, and Collect forms -relevantLinks: > - docs/design/best-practices -keywords: app-forms -aliases: - - /apps/reference/forms/ ---- - diff --git a/content/en/building/tasks/managing-tasks/pass-data-to-form.md b/content/en/building/tasks/managing-tasks/pass-data-to-form.md index 5dd6fd03a..31ed09108 100644 --- a/content/en/building/tasks/managing-tasks/pass-data-to-form.md +++ b/content/en/building/tasks/managing-tasks/pass-data-to-form.md @@ -7,7 +7,7 @@ relatedContent: > building/tasks/complex-tasks building/tutorials/app-forms building/tasks/tasks-js - building/guides/forms/form-inputs + building/forms/configuring/form-inputs aliases: - /apps/guides/tasks/pass-data-to-form --- diff --git a/content/en/building/training/training-cards/training-cards-configuration.md b/content/en/building/training/training-cards/training-cards-configuration.md index 6d712a40f..b23f5e7d7 100644 --- a/content/en/building/training/training-cards/training-cards-configuration.md +++ b/content/en/building/training/training-cards/training-cards-configuration.md @@ -15,13 +15,13 @@ aliases: - /apps/guides/training/training-cards/ --- -[Training Cards]({{< relref "building/training/training-cards" >}}) enable remote training from within the CHT by showing a sequence of "cards" containing content provided by App Developers. The content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. Enketo forms are used to display the content, and App Developers can specify a start date, duration, and to which [user roles]({{< relref "building/reference/app-settings/user-roles" >}}) the cards should be shown. Like [app forms]({{< relref "building/reference/forms/app" >}}), forms used by training cards will automatically be downloaded to the user’s devices. +[Training Cards]({{< relref "building/training/training-cards" >}}) enable remote training from within the CHT by showing a sequence of "cards" containing content provided by App Developers. The content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. Enketo forms are used to display the content, and App Developers can specify a start date, duration, and to which [user roles]({{< relref "building/reference/app-settings/user-roles" >}}) the cards should be shown. Like [app forms]({{< relref "building/forms/app" >}}), forms used by training cards will automatically be downloaded to the user’s devices. {{% alert title="Note" %}} Example training forms are available [here]({{< relref "building/training/training-cards-resources" >}}) and provide a good starting point. {{% /alert %}} # Step 1: Create the training form -Create an [XLS Form]({{< relref "building/reference/forms/app#xlsform" >}}). In the following example, the training form is called `my_new_feature`, it has some text in the `label::en` column, and some images in the column `media::images` to illustrate the feature. +Create an [XLS Form]({{< relref "building/forms/app#xlsform" >}}). In the following example, the training form is called `my_new_feature`, it has some text in the `label::en` column, and some images in the column `media::images` to illustrate the feature. {{< figure src="step-1-xls-form.png" link="step-1-xls-form.png" class="left col-10" >}} @@ -37,7 +37,7 @@ Important, define the `form_id` located in the `settings` sheet with the prefix # Step 3: Configure the training form -Create a [properties file]({{< relref "building/tutorials/form-properties#3-define-the-forms-context" >}}) to define the starting date of the training, the number of days it will be active, and the user roles that can access the training. In our example, the file name is `my_new_feature.properties.json` and contains the following properties: +Create a [properties file]({{< relref "building/forms/form-properties#3-define-the-forms-context" >}}) to define the starting date of the training, the number of days it will be active, and the user roles that can access the training. In our example, the file name is `my_new_feature.properties.json` and contains the following properties: ``` { @@ -64,7 +64,7 @@ In the example above, the training cards could be shown to any user with the "nu If your training form has images, create a folder with the same name as the form and add `-media` suffix. In our example, the form name is `my_new_feature`, then the folder name should be `my_new_feature-media`. -Inside that new folder, make another one called images and put inside all the `images` that your form needs. See more about [multimedia in forms]({{< relref "building/guides/forms/multimedia" >}}). +Inside that new folder, make another one called images and put inside all the `images` that your form needs. See more about [multimedia in forms]({{< relref "building/forms/configuring/multimedia" >}}). # Step 5: Put everything in the right place diff --git a/content/en/building/translations/localizing-translations.md b/content/en/building/translations/localizing-translations.md index c7f5bec55..15d3a1b2d 100644 --- a/content/en/building/translations/localizing-translations.md +++ b/content/en/building/translations/localizing-translations.md @@ -44,7 +44,7 @@ Translations for XForms are defined within the forms themselves. The XLSForm not Submitted forms are shown on the Reports tab, with each value in the report displayed alongside a label. The label for each value is represented by a key in the `report.{form-name}.{field-name}` format, which can be translated by including the key and translation in the [language files]( {{< relref "#translations" >}} ). If the label is omitted in the translation the full key will show in the app. {{% alert title="Note" color="info" %}} -To hide report fields from showing on the Reports view altogether, the containing group or field must be included as `hidden_fields`, as per the [form properties file]( {{< ref "building/reference/forms/app#properties" >}} ). +To hide report fields from showing on the Reports view altogether, the containing group or field must be included as `hidden_fields`, as per the [form properties file]( {{< ref "building/forms/app#properties" >}} ). {{% /alert %}} ## Build diff --git a/content/en/building/tutorials/app-forms.md b/content/en/building/tutorials/app-forms.md index 0187acc2e..47ed716ba 100644 --- a/content/en/building/tutorials/app-forms.md +++ b/content/en/building/tutorials/app-forms.md @@ -5,8 +5,8 @@ weight: 7 description: > Building CHT app forms relatedContent: > - building/reference/forms/contact - building/reference/forms/app + building/forms/contact + building/forms/app design/best-practices/#forms design/best-practices/#content-and-layout design/best-practices/#summary-page @@ -29,11 +29,11 @@ You will be building assessment workflow that allows Community Health Workers to ## Brief Overview of Key Concepts -*[App forms]({{< ref "building/reference/forms/app" >}})* serve as actions within the app. +*[App forms]({{< ref "building/forms/app" >}})* serve as actions within the app. -*[XLSForm]({{< ref "building/reference/forms/app#xlsform" >}})* is a form [standard](http://xlsform.org/en/) created to help simplify the authoring of forms in Excel. +*[XLSForm]({{< ref "building/forms/app#xlsform" >}})* is a form [standard](http://xlsform.org/en/) created to help simplify the authoring of forms in Excel. -*[XForm]({{< ref "building/reference/forms/app#xform" >}})* is a CHT-enhanced version of the [ODK XForm](https://getodk.github.io/xforms-spec/) standard. +*[XForm]({{< ref "building/forms/app#xform" >}})* is a CHT-enhanced version of the [ODK XForm](https://getodk.github.io/xforms-spec/) standard. ## Required Resources diff --git a/content/en/building/tutorials/application-graphics.md b/content/en/building/tutorials/application-graphics.md index 5182fdee7..35ec101b3 100644 --- a/content/en/building/tutorials/application-graphics.md +++ b/content/en/building/tutorials/application-graphics.md @@ -222,6 +222,6 @@ To modify the icon used in contacts, you will need to edit the icon subkey in ap Finally run the command: `cht --local upload-app-settings` -To customise the icons used in tasks or the action bar, you will need to edit a form properties file and add an icon property as outline in [form properties]({{< ref "building/tutorials/form-properties" >}}) tutorial. +To customise the icons used in tasks or the action bar, you will need to edit a form properties file and add an icon property as outline in [form properties]({{< ref "building/forms/form-properties" >}}) tutorial. To customise the icons used in targets, you will need to add an icon property in a target's definition as shown in the [targets]({{< ref "building/targets/target-widgets" >}}) tutorial. diff --git a/content/en/building/tutorials/sms-schedules.md b/content/en/building/tutorials/sms-schedules.md index 65732b76d..a2801b1b2 100644 --- a/content/en/building/tutorials/sms-schedules.md +++ b/content/en/building/tutorials/sms-schedules.md @@ -6,7 +6,7 @@ description: > Building CHT application SMS schedules relatedContent: > building/reference/app-settings/schedules - building/concepts/forms + building/forms building/features/messaging building/guides/messaging @@ -24,7 +24,7 @@ This tutorial takes you through how to set up SMS schedules for CHT applications *[SMS schedules]({{< ref "building/reference/app-settings/schedules" >}})* are a series of SMS messages that are to be sent to specific contacts at future dates and times. They are defined in either the `base_settings.json` or the `app_settings/schedules.json` file and compiled into the *[app_settings.json]({{< ref "building/reference/app-settings" >}})* file with the `compile-app-settings` action in the `cht-conf` tool. -SMS schedules can be triggered by *[SMS forms]({{< ref "building/tutorials/sms-forms" >}})* or *[App forms]({{< ref "building/reference/forms/app" >}})*. +SMS schedules can be triggered by *[SMS forms]({{< ref "building/tutorials/sms-forms" >}})* or *[App forms]({{< ref "building/forms/app" >}})*. ## Required Resources diff --git a/content/en/building/workflows/death-reporting.md b/content/en/building/workflows/death-reporting.md index 454288ce3..3520ee432 100644 --- a/content/en/building/workflows/death-reporting.md +++ b/content/en/building/workflows/death-reporting.md @@ -32,7 +32,7 @@ You will need to: 1. [Configure your application hierarchy]({{% ref "building/tutorials/application-settings" %}}) 2. [Create some contacts]({{% ref "building/contact-management/contact-and-users-1" %}}) 3. [Know how to create an app form]({{% ref "building/tutorials/app-forms" %}}) -4. [Know how to set form properties]({{% ref "building/tutorials/form-properties" %}}) +4. [Know how to set form properties]({{% ref "building/forms/form-properties" %}}) ## Implementation Steps @@ -51,7 +51,7 @@ It is common to want to know the date of death, place of death, or cause of deat It doesn't make sense to have "places" in your hierarchy that can be deceased. It also doesn't make sense for somebody who is dead to die again. But can the administration of a health facility die? That is for you to decide. -This snippet is an example [form properties file]({{% ref "building/tutorials/form-properties" %}}) which constrains the death form to show only for contacts which: +This snippet is an example [form properties file]({{% ref "building/forms/form-properties" %}}) which constrains the death form to show only for contacts which: 1. Are currently alive 2. Are within a family diff --git a/content/en/core/releases/3.14.0.md b/content/en/core/releases/3.14.0.md index 1fb93ba36..7eb5d79b5 100644 --- a/content/en/core/releases/3.14.0.md +++ b/content/en/core/releases/3.14.0.md @@ -54,7 +54,7 @@ Old Dates | New Dates :-------------------------:|:-------------------------: ![](../images/3.14.0-7294-old.png) | ![](../images/3.14.0-7294-new.png) -Additionally, a new [`to-bikram-sambat` xPath function]({{< ref "building/reference/forms/app#to-bikram-sambat" >}}) has been added that converts a `date` to a `string` containing the value of the date in the Bikram Sambat format. +Additionally, a new [`to-bikram-sambat` xPath function]({{< ref "building/forms/app#to-bikram-sambat" >}}) has been added that converts a `date` to a `string` containing the value of the date in the Bikram Sambat format. [#7294](https://github.com/medic/cht-core/issues/7294): Use Bikram Sambat dates throughout the webapp when Nepali locale selected diff --git a/content/en/core/releases/4.2.0.md b/content/en/core/releases/4.2.0.md index f085ab3e4..b6914c592 100644 --- a/content/en/core/releases/4.2.0.md +++ b/content/en/core/releases/4.2.0.md @@ -71,7 +71,7 @@ You can read more about it in [the transitions configuration docs]({{< relref "b ### Extension libraries -The extension libraries are blocks of code that are cached with the CHT web application giving app developers a powerful tool to extend the CHT. An example of a use for this feature is to provide a function to calculate a risk score based on a machine learning model. The function can then be called passing in values from [app forms]({{< relref "building/reference/forms/app" >}}) and return the result to be stored with the report. +The extension libraries are blocks of code that are cached with the CHT web application giving app developers a powerful tool to extend the CHT. An example of a use for this feature is to provide a function to calculate a risk score based on a machine learning model. The function can then be called passing in values from [app forms]({{< relref "building/forms/app" >}}) and return the result to be stored with the report. Read more about this feature in the [extension libraries docs]({{< relref "extension-libs" >}}) diff --git a/content/en/core/releases/4.6.0.md b/content/en/core/releases/4.6.0.md index 4fb335466..6746af50f 100644 --- a/content/en/core/releases/4.6.0.md +++ b/content/en/core/releases/4.6.0.md @@ -30,7 +30,7 @@ None. ### Allow contact searches in forms to be filtered by descendants of the current contact -A [contact selector]({{< relref "building/guides/forms/form-inputs#contact-selector" >}}) can be used in forms to allow users to select a contact by searching. In addition to limiting the searchable contacts by their type, now you can configure the search field to only show contacts which are descendants of the current contact. This is useful when you only want to allow a user to select specific contacts (such as members of the current household). Learn how to configure this functionality in [the documentation]({{< relref "building/guides/forms/form-inputs#loading-descendants-of-the-current-contact" >}}). +A [contact selector]({{< relref "building/forms/configuring/form-inputs#contact-selector" >}}) can be used in forms to allow users to select a contact by searching. In addition to limiting the searchable contacts by their type, now you can configure the search field to only show contacts which are descendants of the current contact. This is useful when you only want to allow a user to select specific contacts (such as members of the current household). Learn how to configure this functionality in [the documentation]({{< relref "building/forms/configuring/form-inputs#loading-descendants-of-the-current-contact" >}}). - [#8074](https://github.com/medic/cht-core/issues/8074): Support filtering contact search in forms by descendants of the current contact diff --git a/content/en/design/best-practices/_index.md b/content/en/design/best-practices/_index.md index 5e5c9df21..fbb48eb21 100644 --- a/content/en/design/best-practices/_index.md +++ b/content/en/design/best-practices/_index.md @@ -224,7 +224,7 @@ After all of the required questions in a form are answered, a summary page is di *Note: The form is not submitted until the user scrolls to the end of the page and clicks “Submit”.* -All care guides are defined using [ODK XForms](https://opendatakit.github.io/xforms-spec/), an XML definition of the structure and format for a set of questions. Since writing raw XML can be tedious, we suggest creating the forms using the [XLSForm standard](http://xlsform.org/), and using the [cht-conf](https://github.com/medic/cht-conf) command line configurer tool to convert them to XForm format. Because the XLSForms are converted directly to XForms, they essentially are the form, and so it’s important that the XLS be set up properly and consistently. Read more about configuring forms [here]({{< ref "building/reference/forms/app">}}). +All care guides are defined using [ODK XForms](https://opendatakit.github.io/xforms-spec/), an XML definition of the structure and format for a set of questions. Since writing raw XML can be tedious, we suggest creating the forms using the [XLSForm standard](http://xlsform.org/), and using the [cht-conf](https://github.com/medic/cht-conf) command line configurer tool to convert them to XForm format. Because the XLSForms are converted directly to XForms, they essentially are the form, and so it’s important that the XLS be set up properly and consistently. Read more about configuring forms [here]({{< ref "building/forms/app">}}). #### Page Sections From acfd42c0b7ff44a0f30209f7542d25a9a2ebba0d Mon Sep 17 00:00:00 2001 From: mrjones <8253488+mrjones-plip@users.noreply.github.com> Date: Tue, 3 Dec 2024 07:14:09 -0800 Subject: [PATCH 16/16] link to list of language codes instead of list of country codes (#1725) --- content/en/building/translations/managing-translations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/building/translations/managing-translations.md b/content/en/building/translations/managing-translations.md index a70e1648e..c8b2f5672 100644 --- a/content/en/building/translations/managing-translations.md +++ b/content/en/building/translations/managing-translations.md @@ -20,7 +20,7 @@ Like the rest of the code the translation files live in the GitHub repo. These t New languages must be added and configured in several places: -- Create a new `messages-xx.properties` file in the [`api/resources/translations`](https://github.com/medic/cht-core/tree/master/api/resources/translations) folder, replacing "xx" with the 2 or 3 letter [language code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). +- Create a new `messages-xx.properties` file in the [`api/resources/translations`](https://github.com/medic/cht-core/tree/master/api/resources/translations) folder, replacing "xx" with the 2 or 3 letter [language code](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). - Add the language to the [`LOCAL_NAME_MAP` in api](https://github.com/medic/cht-core/blob/e6d184946affc62773d569168216a5b913f38a30/api/src/translations.js#L17). Use the language code for the key, and the local name followed by the English name for the language in brackets, eg: "fr: 'Français (French)'". - Import the moment language pack in the [main.ts file](https://github.com/medic/cht-core/blob/e6d184946affc62773d569168216a5b913f38a30/webapp/src/ts/main.ts#L23). If moment doesn't provide the required language pack you may need to contribute it upstream to the moment library.