Updating Pinned Surveys
Background
I asked for opinions about 'Pin' versus 'Star'. From our community it was split answer. Generally, Pin means "stick to top for everyone" which is what these do, along with make available offline. Star means "mark as important for me" and doesn't necessarily ensure the item is stuck to the top of a list. Thus, I think Pinning is more appropriate here, even though IMO it's a more 'old school' term.
Description of work
-
Remove existing 'pinned' UI from the Settings screen (see miro) @desousab -
Add option to pin survey in the All Surveys list. (see miro) -
Pinned surveys should appear at the top of Survey list @desousab -
Pinned surveys should be default cached and available offline (I think this is existing functionality but worth checking). -
Any scripts should also be cached (again... I believe this is true today) - Ideally any associated resources should also be cached... I think this is not true today, so we can skip adding this, but we need to keep this in mind when we review offline functionality later.
-
-
Pinning or unpinning can occur either in 3 dot menu (mobile) or by hovering and clicking on the pin (desktop). @desousab -
Pinning should correctly update in real time (ie pinning a survey in a Survey List will cause it to now show on the sidebar. -
When the user actively searches, the pinned surveys should no long default to top of list (probably obvious but just adding here anyway) @desousab
-
-
Unable to pin survey draft @desousab -
Right to Edit to be able to pin a survey @desousab -
Replace the star with a pin (icon and label) @desousab -
The pinned surveys in the left-hand navigation panel must be those of the user's group.
Additional changes needed to implement.
-
Do not show surveys on the sidebar unless they are pinned -
Do not limit the number of sidebar surveys that appear (currently limited to 2) - ... anything else?
Notes / considerations for related future work
- I believe we will want pinning as an option for other entities - specifically groups, QSs, and Scripts. So this should be developed to be easily ported / reused / common functions or whatever.
- Functionality for other entities will be mostly similar. For example, the core function that items will be pinned to the top of lists should apply to any other entity using pins. Some functionality for pinning other entities may differ tho - offline functionality is also relevant for things like pinned Scripts and QSs. However, pinned groups may have different unique functionality... Anyway, TBD but that's the thinking...
Edited by Benoît DE SOUSA