eclipse products features plugins extension points
Download
Skip this Video
Download Presentation
Eclipse Products, Features, Plugins, Extension Points

Loading in 2 Seconds...

play fullscreen
1 / 9

Eclipse Products, Features, Plugins, Extension Points - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

Eclipse Products, Features, Plugins, Extension Points. Kay Kasemir, Xihui Chen ORNL/SNS [email protected] 2012, April at SLAC. Eclipse Plugin Architecture. plug-in. Extension Point: defines new function point that other plug-ins can plug into Define XML description in plugin.xml

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Eclipse Products, Features, Plugins, Extension Points' - jenette-miller


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
eclipse products features plugins extension points

Eclipse Products, Features, Plugins, Extension Points

Kay Kasemir, Xihui Chen

ORNL/SNS

[email protected]

2012, April at SLAC

eclipse plugin architecture
Eclipse Plugin Architecture

plug-in

  • Extension Point: defines new function point that other plug-ins can plug into
  • Define XML description in plugin.xml
  • Define abstract class
  • Programmatic loading of the extensions

Extension: concrete service

Implementations of abstract class defined in extension point

plug-in

One extension point may have 0, 1 or unlimited extensions

  • Code is nicely decoupled and “packaged”
boy widget extension point example
BOY widget extension point Example

opibuilder.widgets.symbol

Symbol widgets implemented by ITER

opibuilder.widget

Other widgets …

Slider widget

Rectangle widget

opibuilder

widget extension point

Extension usually is optional, if you don’t have that extension, you just don’t have that function.

from product to plugin
From Product to Plugin
  • org.cstudio.basic.epics.product/CSS.product
    • Based on “Features”
  • org.csstudio.sns.feature.applications
    • org.csstudio.diag.probe
    • org.csstudio.diag.epics.pvtree
    • and features …opibuilder, …databrowser

Features:

    • “Group” plugins to better organize them
    • Features can be installed & updated from update sites
      • Individual plugins can’t
smaller products without features
Smaller Products without Features
  • org.csstudio.archive.engine/ArchiveEngine.product
  • org.csstudio.archive.config.rdb/ArchiveConfigTool.product
  • org.csstudio.alarm.beast.server/AlarmServer.product
  • org.csstudio.alarm.beast.configtool/AlarmConfigTool.produc

It’s OK to not use features

Easier to start that way.

But: Less organized, no install, update possible.

dependencies
Dependencies
  • org.csstudio.diag.probe
    • MANIFEST.MF, plugin.xml
    • Dependency on ..utility.pv
  • org.csstudio.utility.pv

Products that include probe must also include utility.pv.Otherwise obvious error about missing dependency at startup, or no product at all.

Similar: Databrowser depends on org.csstudio.archive.reader,org.csstudio.logbook

* utility.pv will be replaced by PV Manager in next release

extension points
Extension Points
  • There are many!
    • Read Eclipse RCP Books
    • See Eclipse IDE online help
    • http://cs-studio.sourceforge.net/docbook/
    • Study CSS Sources
  • For example:
    • Process Variable Menu
      • Provide Process Variable or Provide Menu
    • Logbook
    • PV Manager Data Source
    • Authentication & Authorization Provider
    • BOY Widgets
to build a custom product
To build a custom product:
  • You pick what you want
    • Probe, Data Browser, BOY, …
  • Add dependencies, Eclipse helps
    • Logbook, pv, archive, …
  • Determine what you may also need
    • pv.epics, logbook.mysite, archive.reader.*
  • Test within Eclipse IDE (Run Configurations…)
    • Then update your *product, *feature

Read http://cs-studio.sourceforge.net/docbook/

ad