Uploaded image for project: 'stripes-smart-components'
  1. stripes-smart-components
  2. STSMACOM-113

Tags on individual records: Assign, Unassign, Display, Output




      Purpose: To display, assign, unassign, and output tags associated with individual records with various FOLIO main apps.

      As a staff person
      I want to be able to assign, unassign, view, and output tags in a FOLIO record
      So that I can categorize records for filtering and reporting purposes.

      Tags are meant to be labels that can be assigned to individual data records in various FOLIO apps. Tags will be used as a visual indicator in the record, to gather records in some way, and to facilitate reporting. This will be a cross-app “helper app,” similar to how the Notes app is envisioned. However, unlike notes, the tags need to be easily accessible as part of the record for filtering and output purposes.

      Ideally, most or all of the work will be centralized in the tags app, and can be easily consumed by any of the other main FOLIO apps to display in their records. The tags app should be applicable to any type of record in various FOLIO apps, including, but not limited to: users, instances, holdings, items, order lines, vendors, ledgers, funds, budgets, and the like.

      For proof of concept, we can start with User records. Once we know it works, we need to implement in the acquisitions records: order line records if Orders UI is available when this story is completed, otherwise vendor records. For purposes of illustrations, used the inventory instance record, since I can't easily build screenshots for other types of acquisitions records yet.


      1. Scenario 1
        • Given Given Enable tags = Y in Settings > Tags > General per FOLIO-1302
        • When a User displays an User record in a search result
        • Then the Tags Icon should display at the top right of the record in the third pane, between the Edit Pencil icon and the Notes icon.
        • A-M: tags icon is to the left of both the edit pencil and notes icon, instead of between them. I don't care, but checking with Cate and Filip to see if they do. Per Cate, no problem.
          • See wireframes 01-06 attached. Use an icon similar to the one in 01, but make sure it's easily distinguishable from the Edit Pencil icon when very small on the screen.
      2. Scenario 2
        • Given the Tags Icon
        • When hovering over it
        • Then the label "Show Tags" should appear.
      3. Scenario 3
        • Given the Tags Icon
        • When tags are already assigned to a particular record
        • Then the system should display the number of tags to the left of the Tags Icon.
          • See wireframes 07-08 attached.
          • A-M: see attached video "NumberOfTags". I think the Notes application is supposed to act like this as well (show the number of tags or notes next to the icon in the record detail pane, so that the user knows whether it's worth clicking the tags icon or notes icon to see any additional details).
          • A-M: Michael corrected, but the total in the 3rd pane is not updating simultaneously with the number in the 4th pane. Adding a bug for it.
      4. Scenario 4
        • Given the Tags Icon
        • When it is clicked
        • Then a fourth pane with tag details (hereafter called the Tags Pane) should open to the right of the existing panes, similar to the Notes pane
          • See wireframe 09 attached.
      5. Scenario 5
        • Given the Tags Pane
        • When it has been opened as the fourth pane
        • Then no other "helper app" panes (e.g. Notes) should display. A user should only be able to have one helper app pane open at a time, but the icons for all relevant helper apps should still remain at the top of the screen, so that the user can switch between them.
      6. Scenario 6
        • Given the Tags Pane
        • When it has been opened as the fourth pane
        • Then it should stay defaulted to open, even if a user clicks on a different instance in the second pane search results, changing to the tags relevant to that newly-selected instance
      7. Scenario 7 [A-M entered separate Jira bug]
        • Given the Tags Pane
        • When it is viewed
        • Then the layout should appear like this
          • Header Tags
          • Sub-header [number] Tags representing the number of tags currently assigned to the record
          • Any existing assigned tags, in alphabetical order.
          • Each tag appears as its own separate box
          • An "x" appears in the right side of each tag's box, to allow the individual tag to be unassigned from the record.
          • Assigned tags can display next to each other, unless that would cause a tag to wrap to the next line, in which case move it to the following line.
          • A-M: second tag does not move to the next line correctly; exceeds the display box; see SecondTagNotDisplayedCorrectly screenshot; I'll add a Jira bug.
          • If one tag is too long to fit on one line, it can wrap to the next line
          • A-M: really long tag does not wrap to the next line; see LongTag screenhot. I'll add a Jira bug.
          • All tags for the record are displayed, with no shortening or ellipses
          • If many tags are assigned to a record, extend the Tag Pane into a longer pane that can be scrolled down
          • At the bottom of the pane, there should be a text entry box with ghosted text of "Enter a tag." It stays within the pane, even if there is a scroll bar above it, due to many tags being assigned.
          • Is it possible to keep ghosted text of "Enter a Tag" in the tag entry box when someone is not entering a tag? That way the user knows where that entry area is. Otherwise it's a little subtle. I'll enter a new Jira ticket for it.
          • See wireframe 10 attached.
      8. Scenario 8 [won't make it into Q3; create separate bug for AutosuggestSecondSort per Michal - see FOLIO-1508]
        • Given the Tag Pane text entry box
        • When a user starts typing
        • Then FOLIO should auto-suggest existing options from the FOLIO central tag list, as follows:
          • Start suggesting as soon as the user starts typing, unless performance issues, in which case, start suggesting at 2nd or 3rd character
          • Auto-suggest looks for the typed string no matter where it appears in the existing tag
          • Any existing tags that start with the string should be presented at the top of the list in alphabetical order, followed by existing tags that have the string embedded in them, also in alphabetical order
          • A-M: Autosuggest tag list seems to be in random order, instead of in the order described in this item. See AutosuggestSortOrder screenshot. I'll enter a Jira bug.
          • MK: this should be now fixed and the autosuggestions should be ordered correctly
          • A-M: Close but not quite. See AutosuggestSortOrder2 video. Please let me know if this is do-able or not. The order within autosuggest would be a little different from the order for the regular list (before autosuggest starts acting on it). Let me know if I should enter a Jira bug.
          • A-M: one more tweak - see AutosuggestSecondSort video - is this doable?
          • A-M: Bug/error message sometimes when adding tags. See ErrorWhenAddingTags video.
          • MK: it should be now fixed
          • A-M: Yes, all good now - thanks!
      9. Scenario 9
        • Given the Tag Pane text entry box
        • When a user attempts to type a space or pipe character
        • Then do not advance the cursor. Disallow spaces and the pipe character (|) in tags. [Pipe character will be used to separate multiple tags in data being imported to FOLIO]
        • A-M: solved in a slightly different way; user can type it space or pipe, but those characters are removed before storing.
      10. Scenario 10
        • Given the Tag Pane text entry box
        • When a user attempts to type an upper-case letter
        • Then convert to lower-case
        • A-M: it's saving entries with upper-case letters as separate tags from the same tag using lower-case letters. See UppercaseBug video. I'll add a Jira bug.
        • MK: This should be now fixed. The tags will be always lowercased
        • A-M: Yes, all good now
      11. Scenario 11
        • Given the Tag Pane text entry box
        • When the user sees an appropriate tag in the auto-suggest list
        • Then they should be able to select it by clicking on it or scrolling down to it and pressing Enter, thereby completing the text in the text entry box with the auto-suggestion
      12. Scenario 12 [A-M entered separate Jira bug]
        • Given the Tag Pane text entry box
        • When the user enters text, presses "Enter," and the Tag already exists on the record
        • Then the tag should be highlighted on the screen
        • A-M: the intention was to have the highlighting up in the display of tags already assigned to the record, not in the autosuggest list. See HighlightQuestion video attached. Let me know if I should create a separate Jira for it.
        • A-M: see the HighlightingPart2 video for maybe a better explanation. Please let me know if this is do-able, and if I should enter a new Jira ticket for it
      13. Scenario 13
        • Given the Tag Pane text entry box
        • When the user enters text, presses "Enter," and the Tag does not already exist on the record, but does exist in the Library's central tag list.
        • Then the tag should be added to the record's tag list in the fourth pane.
      14. Scenario 14
        • Given the Tag Pane text entry box
        • When the user enters text, presses "Enter," and the Tag does not already exist in the Library's central tag list.
        • Then the tag should be created as follows
          • Add to the record's tag list in the fourth pane
          • With a red message saying "New tag created"
          • A-M: No "new tag created" message.
          • MK: The callout is now in place and it will appear when the new tag is being added to the central tag list
          • A-M: all good now!
          • Add to the Library's central tag list. Note that in Phase 1, users will not have UI access to the central tag list.
      15. Scenario 15
        • Given the Library's central tag list
        • When a new tag is created
        • Then the new tag should be stored in the central tag list and displayed in an individual record's tags in the same format (with regards to lower-case, spacing, and punctuation), to allow for predictability for the user when outputting or working with the tags.
        • A-M: Fine in the record UI, but there's not really a way to test/review the central tag list. mpk35 Could you confirm it's working properly for the central tag list?
        • MK: Yes this is already happening. You can confirm it by looking at the available options coming from the multi selection component. Every time when you add a new tag that list should grow
        • A-M: yes, all good now. I think the combination of the error message when the system was creating new tags and the random sort order made it hard to confirm yesterday, but easy to confirm today.
      16. Scenario 16
        • Given the Tags Pane
        • When a new tag is assigned to a record
        • Then the number of tags in the Sub-header and the number next to the Tags icon should increase by 1
      17. Scenario 17
        • Given the individual tags in the Tags Pane
        • When a user clicks the "x" for that tag
        • Then the tag should be removed from the record and from the display. Note that unassigning a tag from a record does not delete the tag from the Library's central tag list, even if no other records have that tag assigned.
        • A-M: Bug when deleting tags. Always deletes the first tag, no matter which one you select. See ErrorWhenDeletingTags video. I'll add a Jira bug.
        • MK: This should be now fixed
        • A-M: Yep - all good
      18. Scenario 18
        • Given the Tags Pane
        • When a tag is unassigned from a record
        • Then the number of tags in the Sub-header and the number next to the Tags icon should decrease by 1
      19. Scenario 19 [A-M created separate Jira]
        • Given the individual tags assigned to a record
        • When the users outputs the record (for printing, downloading, delimited, reporting format, etc.)
        • Then output all tags along with the rest of the record
        • A-M: I'll move this to a separate JIra, and block it until records can be exported/printed: FOLIO-1495, FOLIO-1507

      TestRail: Results


          1. 01-Tag icon.jpg
            5 kB
            Ann-Marie Breaux
          2. 02-Tag Indicator in Instance Search Results.jpg
            115 kB
            Ann-Marie Breaux
          3. 03-Tag Indicator in Instance Prototype Search Results.jpg
            140 kB
            Ann-Marie Breaux
          4. 04-Tag Indicator in Holdings Record.jpg
            34 kB
            Ann-Marie Breaux
          5. 05-Tag Indicator in Item Record.jpg
            45 kB
            Ann-Marie Breaux
          6. 06-Tag Indicator in User Search Results.jpg
            120 kB
            Ann-Marie Breaux
          7. 07-Tag Icon with Number Indicator.jpg
            1 kB
            Ann-Marie Breaux
          8. 08-Tag indicator with Existing Tags.jpg
            143 kB
            Ann-Marie Breaux
          9. 09-Tag 4th pane.JPG
            84 kB
            Ann-Marie Breaux
          10. 10-Tag Creation.jpg
            36 kB
            Ann-Marie Breaux
          11. AutosuggestSecondSort.mp4
            7.97 MB
            Ann-Marie Breaux
          12. AutosuggestSortOrder2.mp4
            9.84 MB
            Ann-Marie Breaux
          13. Badge1.PNG
            6 kB
            Ann-Marie Breaux
          14. Badge2.PNG
            4 kB
            Ann-Marie Breaux
          15. ErrorWhenAddingTags.mp4
            4.57 MB
            Ann-Marie Breaux
          16. ErrorWhenAddingTags.mp4
            4.57 MB
            Ann-Marie Breaux
          17. HighlightingPart2.mp4
            6.83 MB
            Ann-Marie Breaux
          18. HighlightQuestion.mp4
            4.65 MB
            Ann-Marie Breaux
          19. LongTag.PNG
            195 kB
            Ann-Marie Breaux
          20. multi-select-tags.webm
            1.43 MB
            Michal Kuklis
          21. NumberOfTags.mp4
            6.36 MB
            Ann-Marie Breaux
          22. screenshot-1.png
            7 kB
            Ann-Marie Breaux
          23. Settings 05.png
            74 kB
            Michal Kuklis
          24. Show all filesHide all filesShow all filesHide all files.webloc
            0.3 kB
            Filip Jakobsen
          25. tags.webm
            1.19 MB
            Michal Kuklis
          26. tags-counter.png
            75 kB
            Michal Kuklis
          27. UppercaseBug.mp4
            7.59 MB
            Ann-Marie Breaux

          Issue Links



                mpk35 Michal Kuklis
                abreaux Ann-Marie Breaux
                Ann-Marie Breaux Ann-Marie Breaux
                0 Vote for this issue
                8 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases