impactoss / impactoss-tasks

Tracking tasks
0 stars 0 forks source link

Mark recommendations as "current" (StR04) #13

Open tmfrnz opened 11 months ago

tmfrnz commented 11 months ago

Original requirement:

Stakeholder requirement: StR04 "Mark as current"

I want to: mark recommendations as either from the current or a previous review

So that:

  • there is a single repository to use for all reviews
  • any user can easily distinguish between current and non-current recommendations.

Supporting info:

  • Can either be a straightforward marking as current and non-current; or the ability to specify review periods, which is the current period then marking a recommendation with the period automatically categorises it as current or non-current.
  • Only current data is accessible by default
  • Non-current data may also be archived (but not deleted) to optimise database capacity

Analysis:

Instead of explicitly marking recommendations as "current" or "non-current", it is possible to infer their status from the reporting cycles and mechanisms they are assigned to. Recommendations can be considered as "non-current" when they do not belong to the most recent reporting cycle for its mechanism (using the reporting cycles's date).

In addition, it is worth considering marking recommendations (and other content types) as "archived", making it e.g. possible to exclude them from database queries unless explicitly requested.

_Note that boolean is_archive fields have been added to the Advocacy Tracker's database and client with archived items and the archiving functionality only available for admin users (for server PRs see: https://github.com/dumparkltd/advocacy-tracker-server/pull/28, https://github.com/dumparkltd/advocacy-tracker-server/pull/37)_

tmfrnz commented 11 months ago

Additional information

  • On completion of reporting cycle, information will be read-only (but still available) or read-only and not accessible by default? By user or automatic? How will tool know that done?
tmfrnz commented 10 months ago

See #33 for archiving functionality

tmfrnz commented 3 months ago

A recommendation is considered to be "current" when

The current status should be stored in a (virtual) field and made available via the API (read-only of course)

The read-API for recommendations should support a query parameter like "current_only" that -if true- will limit the response to current items only

tmfrnz commented 2 months ago

In addition to recommendations, we also want other related entities to be marked as current (as a virtual field) and optionally be loaded exclusively (ie without non-current items). Specifically:

Actions Are considered current if they

Indicators Likewise, indicators are considered current if they

Progress reports Progress reports are considered current if they

tmfrnz commented 2 months ago

Note: unless loading ALL content (or at least all references), the client-side check for unique references will fail (https://github.com/impactoss/impactoss-client/issues/548). It will only be checked on the server