After Upgrade from 7xx to 8xx do you need the global project and the alarm-pipeline project

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.