# Perspective Component

**URL:** <https://forum.inductiveautomation.com/t/perspective-component/98768>\
**Category:** Module Development\
**Tags:** ignition81, database, perspective\
**Created:** [November 19, 2024, 7:02am UTC](https://forum.inductiveautomation.com/t/perspective-component/98768 "2024-11-19T07:02:54Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 19, 2024, 1:31pm UTC](https://forum.inductiveautomation.com/t/perspective-component/98768/3 "2024-11-19T13:31:52Z")

</div>

Use project inheritance. Define your named query in an inheritable project and have your various UI projects inherit from that. In my recommended hierarchy, that would be in the `perspective_common` project:

> [@Where do/should Gateway Scripts live with respect to an inherited project structure?](https://forum.inductiveautomation.com/t/where-do-should-gateway-scripts-live-with-respect-to-an-inherited-project-structure/83460/3):
>
> Put all of the logic in project library scripts, in the "universe" project at the root of your hierarchy, if you must. Then, in leaf projects, use one-line calls to the appropriate logic from event scripts and message handlers. (I don't agree with your desire, but this is what you must do to achieve it.) I recommend you not put all your scripts (eggs) in one inheritable project (basket). I recommend a hierarchy something like this: universe ├bg\_common │├gsp │├background1 │├background2 │└we…

---

_[View the full topic](https://forum.inductiveautomation.com/t/perspective-component/98768)._
