Extension development requires creating a proper, and valid, extension.xml file that contains/defines the various hooks needed to link to the extension code,.
1. Are the XSD schema definition files that define/control the legal extension.xml entries publicly available?
2. If they are not yet publicly available - can they be made available?
3. The XSDs and/or an appropriate API will be needed to efficiently create extensions for Sql Developer.
Those are the questions. The below is more of a heads-up and FYI history of these questions which were first asked over three years ago.
Thanks to Jeff's help the answers to questions in my previous thread (https://community.oracle.com/thread/3544323) sums up the current state of extension framework support/issues as:
SQL Developer 4.0.0 and 4.0.1 uses the JDeveloper 12.1.3 runtime framework as the basis for the product and its extensions. SQL Developer ships with all the necessary libraries to build new extensions. However, it does not include Javadoc or any other design-time support to help with creating those new extensions.
Since JDeveloper 12.1.3 is not yet publicly available it can't be used to provide design-time support of sql developer extensions. It can be used to create the extensions but those extensions then need to be installed manually in sql developer and debugged remotely.
I was able to adapt the FirstSample extension from the JDeveloper extension SDK so that it would install and work in sql developer (Sqldeveloper 126.96.36.199.48).
This sample extension installs the following functionality into the product:
- A gallery item visible via File->New...
- An item in the Filemenu.
- A toolbar button
- An item in the context menu of the navigator and editor.
These items displayed and worked as expected:
1. The File menu addition
2. The File -> New - Gallery item addition
3. The addition of an entry to the right-click context menu in an editor window
4. The toolbar button
The navigator context menu item either doesn't appear or I'm not looking in the right place.
This is the excerpt from the extension.xml file for that sample for the context entries:
Install context menus in the navigator, editor, and structure pane (explorer)
which use the same action defined above.
<site idref="navigator, editor, explorer"/>
This is what successfully worked for a sql developer extension 3 years ago
I tested that 'db_nav' site id ust to see if it would work in the new framework but it does not. Which, of course, raises the question of what ARE the valid site ids for sql developer?
I'm not asking that question now but am mentioning it FYI because I expect the XSD schema definitions most likely would provide the ENUMs of the legal values for sql developer. Although Sql developer is based on JDeveloper it will have its own menus and submenus unique to it and the IDs for those will be needed by anyone creating extensions for the product.
For reference here is a link to John Brock's web page that provides much of the XSD content for the JDeveloper extension.xml structure:
Also for reference here are the original forum threads where I first ask this question about XSDs over three years ago (Sep 28, 2010 11:30 AM) and they were never made available. See Sue Harper's replies in this and other threads.
Need XSDs, API Docs and Java (with callback hooks) extension sample
Would someone(Sue Harper?) please give us an ETA on when the info we developers need to develop extensions to SqlDeveloper will be made avaialble by Oracle?
. . .
Thanks for trying to help but the Javadocs we are referring to are the ones for SqlDeveloper that were first ask about in Feb, 2008 two and a half years ago.
That 'Extension development question' thread (https://community.oracle.com/message/2336337#2336337) was posted in Feb 2008 (five years ago) and this was the reply of Barry McGillin to the question 'Is any javadoc for oracle.sqldeveloper.* packages are available? '
not yet, but its something I want to release at some point.I posted that thread 2 1/2 years after the other 'Extension dethread
A couple of other older threads with some similar content:
Updates to the Extensions Exchange and the new XSDs on the Oracle Wiki (Mar 2010 - except they weren't really there when you tried to find them)
SQL Developer user-extension *.xsd schema files required (April 2009)
And, of course Jeff's own web page
An Introduction to SQL Developer Extensions (Nov 2011)
Nothing much ever came of the request for the XSDs or API docs. The frustrating part of those attempts 3 and 1/2 years ago was that Oracle CLEARLY had the XSDs but never made the current ones available after a certain point about 5 years ago. To know that they were just sitting there, and likely being used by the Sql Dev team, but weren't publicly available was a little rough to deal with.
We saw providing something (XSDs) that already existed as a totally different issue than possibly having to create something from scratch (API docs) that may not be heavily used.
I hope that Oracle considers some of that history when deciding how to handle the issue when it comes up again in the next few months.
Once JDeveloper 12.1.3 is publicly released we will start pressing some of those issues again.