# Global Announcements with User Tracking (copyable)

**URL:** <https://community.glideapps.com/t/global-announcements-with-user-tracking-copyable/23422>\
**Category:** Project Showcase\
**Created:** [February 25, 2021, 2:46pm UTC](https://community.glideapps.com/t/global-announcements-with-user-tracking-copyable/23422 "2021-02-25T14:46:50Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [April 15, 2021, 12:31am UTC](https://community.glideapps.com/t/global-announcements-with-user-tracking-copyable/23422/6 "2021-04-15T00:31:38Z")

</div>

> [@Harry\_OBrien](#):
>
> Hi Darren, what does this step look like? I am assuming there is a custom action when they “mark as read” but I dont know how to keep adding new values (UserIDs) to a basic text field without overwriting it.

- When a user taps an announcement, their User ID is written to a User Specific Column (`usc-user`)
- Then there are 3 columns in the Announcements table that help dynamically build the list:
  - `tp-first-user` - this is a Template column that just mirrors the contents of `usc-user`
  - `tp-subsequent-users` - another Template column that contains the current contents of `Read By`, a comma (,), and `usc-user`
  - `ite-new-read-by` - an if-then-else column that determines which of the two templates to use when the user marks the announcement as read. If `Read By` is empty, use the first one, otherwise use the second one.

- Then when the user taps the ‘Mark as Read’ button, the `Read By` column is updated to the result of the if-then-else column.

Note that my method doesn’t remove users from the list when they mark an announcement as “Unread” (that wasn’t a requirement for my app). But @Lucas_Pires and @Robert_Petitto showed how this can be done with their “[Trebuchet Method](https://community.glideapps.com/t/shared-user-specific-lists-between-users/24747)”. If you watch Bob’s video, you’ll see that he explicitly covers that step.

---

_[View the full topic](https://community.glideapps.com/t/global-announcements-with-user-tracking-copyable/23422)._
