Where do/should Gateway Scripts live with respect to an inherited project structure?

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
│└webdev
└ui_common
 ├perspective_common
 │├ui1
 │└ui2
 └vision_common
  ├ui3
  └ui4

In this arrangement, universe and *_common contain only well-tested resources, and are only edited/modified in appropriate maintenance windows in production. (Edits to these will cause scripting restarts in the gateway in all projects under them.)

When developing something that will end up in one of these inheritable projects, use a testing leaf project below it for your development work. When well tested, send the resources to the appropriate inheritable project and delete the testing project.

Note that perspective_common is the appropriate place for re-usable Views, and vision_common in the right place for reusable windows and templates. All other inheritable projects only contain project library scripts.

{ gsp is the gateway scripting project. }

5 Likes