Difference between revisions of "Plugin development"

From MidrangeWiki
Jump to: navigation, search
(+ section for community shared plug-ins)
m (External links: +LPEX 4.4.0)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
The Remote System Explorer (RSE) is built on top of [[Eclipse]], and uses the Eclipse user interface, architecture, and frameworks for writing plug-ins.  
 
The Remote System Explorer (RSE) is built on top of [[Eclipse]], and uses the Eclipse user interface, architecture, and frameworks for writing plug-ins.  
  
So, in order to understand how to write extensions (more commonly referred to as "plug-ins") for the Remote Systems Explorer ([RSE]), you first need to understand Eclipse.   
+
So, in order to understand how to write extensions (more commonly referred to as "plug-ins") for the Remote Systems Explorer ([[RSE]]), you first need to understand Eclipse.   
  
 
Eclipse is an integrated development environment that was designed to be extended by tool vendors.   
 
Eclipse is an integrated development environment that was designed to be extended by tool vendors.   
Line 25: Line 25:
 
There is also a ton of resources [http://www.eclipse.org/resources/index.php] here.   
 
There is also a ton of resources [http://www.eclipse.org/resources/index.php] here.   
  
The current release of WDSC (7.0) which is based on Eclipse 3.2, but check the [[Eclipse|Eclipse wiki entry]] for the current cross reference.
+
You need to write your plug-in to match the release of Eclipse it will run on. Check the [[Eclipse|Eclipse wiki entry]] for the current cross reference.
  
There is also a [[midrange.com]] hosted mailing list for WDSC Plug-in Developers ... http://lists.midrange.com/listinfo/wdsc-plugin-dev.
+
There is also a [[midrange.com]] hosted mailing list for WDSC / RDi Plug-in Developers ... http://lists.midrange.com/listinfo/wdsc-plugin-dev.
  
Here you can find a list of vendors / users you have plug-ins for WDSC [[WDSC/Plugin]].
+
Here you can find a list of vendors / users you have plug-ins for [[WDSC/Plugin|WDSC / RDi]].
  
 
== Community written plug-ins ==
 
== Community written plug-ins ==
 
* [[RDP_ToPrefixArea|ToPrefixAreaAction]] Keystroke action to move the cursor between the prefix area and the text area.  With step by step instructions for creating.
 
* [[RDP_ToPrefixArea|ToPrefixAreaAction]] Keystroke action to move the cursor between the prefix area and the text area.  With step by step instructions for creating.
 +
* [[RDP_LPEX_profile|LPEX profile]] Example of an LPEX profile that runs when opening an editor tab. With step by step instructions for creating.
 +
* [http://code.midrange.com/6a2096a253.html ConvertFixedToFreeAction] Example of an early bit of code to convert a fixed spec like D-Spec to free form.
  
 
== Eclipse SDK examples ==
 
== Eclipse SDK examples ==
Line 57: Line 59:
 
and rename {{code|plugin.xml}} to something different like {{code|plugin.xml.off}}.   
 
and rename {{code|plugin.xml}} to something different like {{code|plugin.xml.off}}.   
  
Restart the [[WDSC_Workbench]] and the message should be gone.   
+
Restart the [[WDSC_Workbench|Workbench]] and the message should be gone.   
  
 
The source for these examples is in  
 
The source for these examples is in  
Line 73: Line 75:
 
{{code|org.eclipse.ui.examples.fieldassist_1.0.0.jar.off}}  
 
{{code|org.eclipse.ui.examples.fieldassist_1.0.0.jar.off}}  
  
and restart the [[WDSC_Workbench]]
+
and restart the [[WDSC_Workbench|Workbench]]
  
 
== External links ==
 
== External links ==
Following are links to WDSCz (zSeries) which is close enough to our WDSC that the tutorials should help.   
+
Following are links to WDSCz (zSeries) which is close enough to our WDSC / RDi that the tutorials should help.   
  
Be advised that they are for WDSC 6 (Eclipse 3.0) so they are a little different if you are following along on a later version of WDSC.
+
Be advised that they are for WDSC 6 (Eclipse 3.0) so they are a little different if you are following along on a later version of WDSC / RDi.
  
[http://www-128.ibm.com/developerworks/websphere/library/techarticles/0607_casey/0607_casey.html Creating user profiles for the LPEX editor in WebSphere Developer for zSeries v6.0]
+
[http://www.ibm.com/developerworks/websphere/library/techarticles/0607_casey/0607_casey.html Creating user profiles for the LPEX editor in WebSphere Developer for zSeries v6.0]
  
 
[http://www.ibm.com/developerworks/opensource/library/os-eclipse-snippet/index.html?ca=dgr-lnxw09RichEclipse#test Build extensions for Eclipse one snippet at a time]
 
[http://www.ibm.com/developerworks/opensource/library/os-eclipse-snippet/index.html?ca=dgr-lnxw09RichEclipse#test Build extensions for Eclipse one snippet at a time]
  
[http://www-128.ibm.com/developerworks/websphere/library/techarticles/0605_casey/0605_casey.html Extending the LPEX Editor in WebSphere Developer for zSeries v6.0]
+
[http://www.ibm.com/developerworks/websphere/library/techarticles/0605_casey/0605_casey.html Extending the LPEX Editor in WebSphere Developer for zSeries v6.0]
  
 
[http://its.unm.edu/introductions/aix_xlfortran/lpxindex.htm LPEX User's Guide and Reference]
 
[http://its.unm.edu/introductions/aix_xlfortran/lpxindex.htm LPEX User's Guide and Reference]
  
 
[http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/topic/com.ibm.lpex.doc.isv/api/overview-summary.html LPEX v3.2.2 JavaDoc (IBM)]
 
[http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/topic/com.ibm.lpex.doc.isv/api/overview-summary.html LPEX v3.2.2 JavaDoc (IBM)]
 +
 +
[https://www.ibm.com/support/knowledgecenter/SSAE4W_9.6.0/com.ibm.lpex.doc.isv/api/index.html LPEX 4.4.0 (RDi 9.6.0) JavaDoc]
  
 
[http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/rzahh/javadoc/overview-summary.html IBM v5r1 JavaDoc]
 
[http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/rzahh/javadoc/overview-summary.html IBM v5r1 JavaDoc]
Line 98: Line 102:
 
== Categories ==
 
== Categories ==
 
[[Category:WDSC]]
 
[[Category:WDSC]]
 +
[[Category:RDi]]
 +
[[Category:Editors]]

Latest revision as of 20:35, 8 February 2018

The Remote System Explorer (RSE) is built on top of Eclipse, and uses the Eclipse user interface, architecture, and frameworks for writing plug-ins.

So, in order to understand how to write extensions (more commonly referred to as "plug-ins") for the Remote Systems Explorer (RSE), you first need to understand Eclipse.

Eclipse is an integrated development environment that was designed to be extended by tool vendors.

The core of Eclipse consists of a platform (the workbench, workspace, UI, etc....) and mechanism for loading plug-ins (OSGi), Java development tools (JDT) and a plug-in development environment (PDE).

The PDE is tools inside of Eclipse that all plug-in developers should use for writing their plug-ins.

If you look at the Eclipse web site you will find a lot of other projects that extend this core platform.

For example: Data tools, Web tools, testing and performance tools, and modeling tools.

It's important to know this so you don't get overwhelmed when visiting the Eclipse web site.

The resources section of the web site provides resources for all these projects.

So you will find articles on things like "How to process OCL Abstract Syntax Trees" which is just darn scary (and completely unrelated) for developers who just want to extend the RSE.

However you will also find articles on "Creating an Eclipse View" which might be exactly what you want to do!

After creating your "Hello World" plug-in, the best place to get started is reading the Eclipse Platform Plug-in Developer Guide.

There is also a ton of resources [1] here.

You need to write your plug-in to match the release of Eclipse it will run on. Check the Eclipse wiki entry for the current cross reference.

There is also a midrange.com hosted mailing list for WDSC / RDi Plug-in Developers ... http://lists.midrange.com/listinfo/wdsc-plugin-dev.

Here you can find a list of vendors / users you have plug-ins for WDSC / RDi.

Community written plug-ins

  • ToPrefixAreaAction Keystroke action to move the cursor between the prefix area and the text area. With step by step instructions for creating.
  • LPEX profile Example of an LPEX profile that runs when opening an editor tab. With step by step instructions for creating.
  • ConvertFixedToFreeAction Example of an early bit of code to convert a fixed spec like D-Spec to free form.

Eclipse SDK examples

Eclipse has a samples plug-in that might be useful for looking at examples of working plug-ins.

Use the Eclipse update manager (not the separate IBM Install manager!) and look for Eclipse Project, then SDK Examples.

As of Eclipse 3.2, the examples provided are:

  • Field assist example
  • Java editor
  • Template editor
  • Multi page editor
  • Property sheet
  • Readme tool
  • Undo example

The Readme tool puts a green bar in the lower left of the workbench that you might find annoying.

To disable the Readme tool, go to

C:\Program Files\IBM\SDP70\plugins\org.eclipse.ui.examples.readmetool_3.2.0.I20060605-1400

and rename plugin.xml to something different like plugin.xml.off.

Restart the Workbench and the message should be gone.

The source for these examples is in

C:\Program Files\IBM\SDP70\plugins\org.eclipse.sdk.examples.source_3.1.100.v20060609m

To disable the FieldAssist plug-in, goto

C:\Program Files\IBM\SDP70\plugins

and rename

org.eclipse.ui.examples.fieldassist_1.0.0.jar to something else, like

org.eclipse.ui.examples.fieldassist_1.0.0.jar.off

and restart the Workbench

External links

Following are links to WDSCz (zSeries) which is close enough to our WDSC / RDi that the tutorials should help.

Be advised that they are for WDSC 6 (Eclipse 3.0) so they are a little different if you are following along on a later version of WDSC / RDi.

Creating user profiles for the LPEX editor in WebSphere Developer for zSeries v6.0

Build extensions for Eclipse one snippet at a time

Extending the LPEX Editor in WebSphere Developer for zSeries v6.0

LPEX User's Guide and Reference

LPEX v3.2.2 JavaDoc (IBM)

LPEX 4.4.0 (RDi 9.6.0) JavaDoc

IBM v5r1 JavaDoc

Eclipse 3.2 Example guide

Eclipse Project update site

Categories