Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL

Similar presentations


Presentation on theme: "Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL"— Presentation transcript:

1 Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL
CSS Product Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL

2 What is a Product Products are the Eclipse unit of branding
Define application-specific branding on top of a configuration of Eclipse plug-ins Define which features will be included in the deployment The purpose of a product is to define application-specific branding on top of a configuration of Eclipse plug-ins. Minimally, a product defines the ID of the application it is associated with and provides a name, description, and unique ID of its own. A product also stores a table of additional properties, where the UI stores information such as the application window icon and the all-important blurb in the Help > About... dialog. It is quite possible to run Eclipse without a product, but if you want to customize the appearance of Eclipse for your particular application, you should define one. Splash screens, window icons, welcome page, intro

3 Why do we need multiple product
Everyone doesn’t need everything

4 Why do we need multiple product
plugin_customization.ini org.csstudio.trends.databrowser2/urls=xnds://ca01.nsls2.bnl.gov/cgi-bin/ArchiveDataServer.cgi Control development and release cycle Set policies

5 CSS product Create a new plugin project org.csstudio.site.product
Create an application which implements IApplication Add a product configuration file Link it to the application List all the features required List branding information like the splash screen, icons, the name of your executable

6 CSS startup/ startuphelper
org.csstudio.startup provides the common code to be used during application startup and tear down. Extenstion points Login StartupParameters Shutdown org.csstudio.startuphelper Provides Default Implementations/ extensions. /docs/CSS_Common_startup_instructions During the startup of an Eclipse RCP application the Eclipse runtime will evaluate which class is defined via the "org.eclipse.core.runtime.application" extension point. This class will be loaded and creates and runs a Workbench. The Workbench is configured via a "WorkbenchAdvisor". The Workbench will start a "WorkbenchWindow" which is configured via a WorkbenchWindowAdvisor. This WorkbenchWindow will create the toolbar of the application which can get configured at startup via the "ActionBarAdvisor". Each adviser allow to configure certain behavior of the application, e.g. the WorkbenchAdvisor allows to perform certain actions at startup or shutdown by overriding the methods preStartUp() and preShutdown(). -Login:The extension point defines how the user should login to the application. On start of this extension point the implementation should provide the neccessary input dialogs for the user to login or use some other ways to login if the login is required at all. -Startup parameters reads the jvm, program and other types of parameters that are required by the application. -Shutdown extension point defines the procedures which will be carried out when the application closes. -The extension defines the action taken during the workbench lifecycle. locale (LocaleSettingsExtPoint) defines the locale settings that are to be applied to the application. login (LoginExtPoint) defines how the users login into the application. project (ProjectExtPoint) takes care of the projects’ lifecycles. It enables opening/closing a specific project when the application starts/stops. services (ServicesStartupExtPoint) is responsible for starting all additional services in the application. shutdown (ShutDownExtPoint) is responsible for taking the appropriate actions just before the application closes. startupParameters (StartupParametersExtPoint) takes care of reading the application startup parameters. workbench (WorkbenchExtPoint) handles the workbench lifecycle as well as constructs a user specific workbench with desired advisors (implementation allows only one extension of this type). workspace (WorkspaceExtPoint) enables workspace manipulation at startup. The base plug-in for all the CSS products is the plug-in org.csstudio.startup. This plug-in provides all the common files which are necessary to start the Control System Studio. The plug-in’s content is already sufficient to make the basic application. All that is needed is to create a minimal Eclipse plug-in which uses the org.eclipse.equinox.app.IApplication [3] implementation provided by this base plug-in

7 Adding it to hg/build cs-studio/product/SiteName/ProductName
Home directory for the product plugins/ product specific plugins features/ product specific features Building your product Product Home dir Build.properties plugins.list and features.list

8 References org.csstudio.startuphelper/docs
K. Kasemir, Common CSS Product Code, J. Bobnar, CSS Common Startup Code: Study and Proposition,

9 Questions


Download ppt "Kunal Shroff EPICS Spring Collaboration Meeting, October 2010 BNL"

Similar presentations


Ads by Google