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 383047ed2..a1b1cf898 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 ced66161b..1d56c0894 100644 --- a/content/en/building/guides/updates/preparing-for-4.md +++ b/content/en/building/guides/updates/preparing-for-4.md @@ -207,7 +207,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 d4e4a6366..7fc5960fa 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