EclipseSCADA/Development/RepositoryLayout
This document should describe how the repository layout of Eclipse SCADA should look like. Considering the initial contribution and the migration of the codebase of openSCADA.
Contents
New Repositories
External
All external libraries which are used but not already in Eclipse Orbit. The goal however is to migrate them sooner or later to Orbit.
Utils
Abstract: Contains tools and helper classes which are not related to SCADA functionality (UI and non-UI)
Base
Abstract: Contains tools and helper classes which are related to SCADA functionality
Contains: CA, HDS, …
Protocols
Abstract: Contains protocol implementations provided by Eclipse SCADA
Contains: mostly org.openscada.oxygen
Does not contain: Device driver implementations, these go to "Core"
Chart
Abstract: Contains the time series chart widget provided by Eclipse SCADA
Contains: Only to non-SCADA related parts of the time series widget. All chart configuration and data input modules specific to the SCADA application will got to "HMI".
This is a candidate for the Nebula Project.
Core
Abstract: The core SCADA system, all non-UI parts
Contains: Master Server Components, Device Drivers, …
HMI
Abstract: User Interface components with the character of building a SCADA User Interface
Contains: All user interface elements which can be used to visualize SCADA functionality. The Visual Interface, Details dialogs, CA import wizards, realtime list, chart functinality, …
Does not contain: Components which are more of an IDE, Development tool, nature. Like project wizards, editor components, …
Exception: EMF creates "edit", "editor" and "test" bundles next to the model. While the "edit" bundle can be seen as a part of the upper definition, "editor" would match the definition of the "IDE" repository. It creates a wizard and editor view which are, most likely, more like a development tool. However in this case an exception should be made and all bundles should stay together in the same repository, HMI. Bundles references this functionality however must not automatically be put in HMI but evaluated on their own.
IDE
Abstract: User Interface components with the character of being some sort of development environment.
Contains: the configurator, the embedded server launcher (from openSCADA Orion)
Releng
Abstract: Release Engineering Tool, global build and deployments scripts
Old reposotories
org.openscada.external
Will be replaced by using Eclipse Orbit.
org.openscada.jinterop
Will not be migrated to Eclipse. It will continue to exists in the openSCADA project.
org.openscada.utgard
Will not be migrated to Eclipse. It will continue to exists in the openSCADA project.