Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: tracked entity input (DHIS2-16023) #451

Merged
merged 300 commits into from
Apr 12, 2024

Conversation

martinkrulltott
Copy link
Contributor

@martinkrulltott martinkrulltott commented Oct 24, 2023

Implements DHIS2-16023

Requires dhis2/analytics#1594

Figma

Spec

Netlify

Cypress bot message

Cypress dashboard


Key features

  1. Adds support for the new input type Tracked entity

Description

The following is only a quick summary of what this PR contains, for full details see the spec and Figma links above.
A new input type ("Tracked entity") was added to the input panel for creating TE line lists. After selecting a tracked entity type (TET), associated dimensions can be selected through the new TET dimension menu item (e.g. "Person dimensions"). There are two new global dimensions, "Registration org. unit" and "Registration date". The program dimensions panel now supports cross-program selection for TE.

All of the above are featured toggled to v41. Because of that, the nightly.yml workflow has temporarily been modified to run the CI Cypress tests against dev.

Because of the cross-program aspect of TE, all uses of dimension id's now need to go through extractDimensionIdParts and formatDimensionId to be prefixed/unprefixed correctly.


TODO

  • Cypress tests
  • Update docs
  • KFMT
  • Revert the changes to nightly.yml

Known issues

  • "Update" button - blocked by the backend and by Analytics needing sth like withTrackedEntityType for the Analytics request
  • Selected dimension count in Program selector - blocked by LIBS-536 and needs a solution for how to count dimensions that doesn't have the program id as a prefix
  • Tracked entity dimensions (e.g. "Person dimensions") - needs a backend endpoint, set up the request and implement the ui (similar to "Your dimensions" but with a different icon)
  • Tracked entity dimensions getting wiped at various times, such as when changing TET id or going back and forth between panels. Rewrite the hooks to use proper dependency lists instead?
  • Registration org unit and registration date - needs spec
  • Filter TET dimensions by program usage - needs spec
  • Dimensions returning NaN values DHIS2-16382
  • Legend set by data item doesn't work, backend not returning pid.sid.did metadata (where the legend set is fetched). Backend issue DHIS2-16379
  • Loading an AO with dimensions that use program or stage prefix doesn't work. Backend doesn't return the necessary metadata for the program/stage name. DHIS2-16437
  • Saving an AO with both an ou dimension and a pid.ou dimension causes the items for each to get mixed up and be added to both dimensions. This is caused by the backend not keeping the items separated. DHIS2-16419
  • Some TETs throws 409 errors DHIS2-16397
  • "Not empty" condition doesn't work DHIS2-16459
  • Program status and org unit table headers needs formatting DHIS2-16478
  • Time dimensions not being prefixed with program id (@jenniferarnesen )
  • Using multiple conditions doesn't return the correct response DHIS2-16510
  • Sorting a numeric column doesn't return a sorted result + numeric dimensions can't use conditions DHIS2-16508
  • Booleans display undefined instead of True and False + conditions can't be used DHIS2-16513
  • Layout is empty / missing chips after loading an AO that includes time dimensions. Missing metadata from the backend for /eventVisualizations (Slack discussion / DHIS2-16437)
  • Saving an AO with repetition, reopening and clicking update removes the repetition (Slack discussion)
  • Multiple period items can't be used DHIS2-16708
  • Empty values get sorted out when using "not contains" and "not equals" DHIS2-16459
  • Multiple periods with items are filtered as OR instead of AND DHIS2-16726
  • Repetition table headers missing suffix because of missing stageOffset DHIS2-16742
  • Multiple option set options are filtered as AND instead of OR DHIS2-16743
  •  Program indicators are currently disabled in the backend (TBD, DHIS2-16897)
  •  "Your dimensions" throws an error when used in an analytics request DHIS2-16749
  • Org units can't be used without items DHIS2-16381 (uncomment code)
  • Different results for repeated events between enrollment and TE DHIS2-16709
  • When opening a legacy saved AO the repetition is missing DHIS2-16733 / (skipped test in repeatedEvents.cy.js)
  • Last column always incorrectly shows as "not defined" DHIS2-16886
  • Rounding is always skipped regardless of option used DHIS2-17105 / (skipped test in options.cy.js)

Screenshots

New input type "Tracked entity"
image

New dimension menu item for tracked entity type dimensions
image

New global dimensions "Registration org. unit" and "Registration date"
image

Program dimensions panel with cross-program selection
image

New suffix logic for cross-program selection using program or stage depending on the type of duplicate
image

@dhis2-bot
Copy link
Contributor

dhis2-bot commented Oct 24, 2023

🚀 Deployed on https://pr-451--dhis2-line-listing.netlify.app

@dhis2-bot dhis2-bot temporarily deployed to netlify October 24, 2023 12:58 Inactive
@martinkrulltott martinkrulltott changed the title feat: tracked entity input feat: tracked entity input (DHIS2-16023) Oct 24, 2023
@dhis2-bot dhis2-bot temporarily deployed to netlify October 24, 2023 13:41 Inactive
Base automatically changed from feat/DHIS2-15454-sidebar-ui-changes to master October 25, 2023 13:24
@dhis2-bot dhis2-bot temporarily deployed to netlify October 27, 2023 07:40 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 27, 2023 13:54 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 30, 2023 14:21 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 31, 2023 09:19 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 31, 2023 09:45 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 20, 2024 11:43 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 20, 2024 11:57 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 20, 2024 14:47 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 20, 2024 15:14 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 21, 2024 12:31 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 26, 2024 14:37 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 2, 2024 07:52 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 2, 2024 11:18 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 11, 2024 14:48 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 12, 2024 06:55 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 12, 2024 07:43 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify April 12, 2024 08:07 Inactive
@martinkrulltott martinkrulltott merged commit a59f19e into master Apr 12, 2024
91 checks passed
@martinkrulltott martinkrulltott deleted the feat/tracked-entity-input branch April 12, 2024 10:11
dhis2-bot added a commit that referenced this pull request Apr 12, 2024
# [100.16.0](v100.15.1...v100.16.0) (2024-04-12)

### Features

* tracked entity input (DHIS2-16023) ([#451](#451)) ([a59f19e](a59f19e))
@dhis2-bot
Copy link
Contributor

🎉 This PR is included in version 100.16.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants