# Mirroring a Perspective Session

**URL:** <https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [December 17, 2024, 5:47pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945 "2024-12-17T17:47:35Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Crawford](https://avatars.discourse-cdn.com/v4/letter/r/a587f6/32.png) [@Ryan\_Crawford](https://forum.inductiveautomation.com/u/Ryan_Crawford)\
**Post date:** [December 17, 2024, 5:47pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/1 "2024-12-17T17:47:35Z")

</div>

Good Morning Team,

I am currently working on an application where I have one Perspective project that I would like to deploy on two PCs, which I want to mirror one another. For example, I have a process where operators need to collect scrap at different points in the process, but they cannot see or interact with each other. However, I want them to work from one interface so that when User 1 adds a row, User 2 can see it, and when User 2 adds a row, User 1 can see it. I have tried to attach a diagram to explain. Please let me know if you need any clarification.

 ![Untitled Diagram.drawio](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/4/6402ed1998bc8b4b3eb3f0cbde6ed80d0016e58e.jpeg)

Thanks,  
Ryan

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [December 17, 2024, 5:59pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/2 "2024-12-17T17:59:38Z")

</div>

I assume the row data has a database source?

In that case you could use a combination of `system.util.sendMessage` and `system.perspective.sendMessage` to tell each session to update certain bindings when polling is off.

Another way would be to have the source data held in a tag. Any session referencing that tag will have the same data.

---

<div class="post-metadata">

**Author:** ![Ryan\_Crawford](https://avatars.discourse-cdn.com/v4/letter/r/a587f6/32.png) [@Ryan\_Crawford](https://forum.inductiveautomation.com/u/Ryan_Crawford)\
**Post date:** [December 17, 2024, 9:42pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/3 "2024-12-17T21:42:35Z")

</div>

When you say has a database source, What do you mean?

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [December 17, 2024, 9:57pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/4 "2024-12-17T21:57:07Z")

</div>

When someone creates a new row, is that inserting a record into a database table? It looks like you are using a flex repeater, where does the data for the flex repeater live, where does it come from.

---

<div class="post-metadata">

**Author:** ![Ryan\_Crawford](https://avatars.discourse-cdn.com/v4/letter/r/a587f6/32.png) [@Ryan\_Crawford](https://forum.inductiveautomation.com/u/Ryan_Crawford)\
**Post date:** [December 17, 2024, 10:21pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/5 "2024-12-17T22:21:54Z")

</div>

Right, no its not going to a database. It goes to the tag path for that row (Examlpe Row 1 and Row 2 are active):

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/b/bb334ecdf5744e0f15b02b806082bc265953e0a8.png)

---

<div class="post-metadata">

**Author:** ![Chris\_Bingham](https://avatars.discourse-cdn.com/v4/letter/c/e5b9ba/32.png) [@Chris\_Bingham](https://forum.inductiveautomation.com/u/Chris_Bingham)\
**Post date:** [December 18, 2024, 12:16am UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/6 "2024-12-18T00:16:24Z")

</div>

Are both projects referencing the same tag provider?  
If not, can they?

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [December 18, 2024, 8:41am UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/7 "2024-12-18T08:41:04Z")

</div>

Why tags specific to the rows and not just a dataset directly? I feel like this is making things more complicated.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [December 18, 2024, 11:28am UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/8 "2024-12-18T11:28:03Z")

</div>

> [@michael.flagler](#):
>
> Why tags specific to the rows and not just a dataset directly?

I can kinda see it, as there can be race conditions if more than one user is modifying a dataset. Using a database table would help prevent that.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [December 18, 2024, 12:52pm UTC](https://forum.inductiveautomation.com/t/mirroring-a-perspective-session/99945/9 "2024-12-18T12:52:38Z")

</div>

Is this on Ignition Edge or Ignition Standard? If Edge, using a database is out of the question.
