I did the update about 2 weeks ago. Went to add a new alarm-pipeline yesterday and realized all my pipelines where not there and my shared scripts was not there. I read the upgrade notes and found out why and that they are stored in there own project. Do you actually need the Global project if you migrate the shared scripts to a project script? Also the same for the alarm-pipeline project, do you actually need it? Or is it best practices to leave them in a separate projects. Also on the gateway these projects have different settings Enabled, Inheritable and Parent project now, you cant just delete a project if it is tied to another project.
You absolutely donât need to have distinct projects for these things. However, the new project model in 8.0+ required them to exist. âGlobalâ resources in 7.9 and below were automatically available in all projects; the closest analogue to that is an inheritable project thatâs set as parent for all existing projects. But, with the new project inheritance system, youâre not limited to a single ârootâ project - you can have multiple independent âtreesâ of projects.
Alarm pipelines, meanwhile, had to be in a distinct project because (by design) inheritable projects will not ârunâ shared resources - so no timer scripts, scheduled reports, SFCs, alarm pipelines, etc. Thatâs an important thing to be aware of; if you moved your alarm pipelines into the âglobalâ (or any other root project), then an instance of those pipelines/SFCs/timer scripts/whatever else will be created in each inheriting project. Thatâs almost certainly not what you actually want to have happen - so itâs likely best practices to have your alarm pipelines and other âalways-onâ resources in a distinct project.