FREE SQL Developer database jobs plugin

May 12, 2009 | by Krzystof Kunowski

Comments

Java based IDEs (Integrated Development Environment), like Eclipse, Netbeans or JDeveloper are becoming more and more the main tool in software engineers’ everyday work. We are able to take advantage of today’s IDEs comprehensive functionality thanks to its open structure that allows universal plugins building. In my everyday work I am using SQL Developer. I was missing some simple but very useful feature – DB Jobs management – so I decided to prepare such a plugin on my own. In this post I will give you some background information about this plugin. Feel free to use it and please provide your feedback! Thanks in advance.

One plugin for all IDEs
First I would like to start with a little bit of “history”. The story began in 2002 when developer groups from the 15 biggest IT corporations (Apple, Borland, Oracle, HP, IBM etc.) started together working on one united Java standard for IDEs – JSR-198 (Java Specification Request for a Standard Extension API for Integrated Development Environments). As a result in 2006 most of the companies voted in favour of the final specification. There where many doubts about that idea but most of the IDE suppliers decided to adopt the specifications of those products.

JSR-198 is based on Java (AWT, Swing) and defines:

  • Access to project information
  • Ability to invoke common IDE dialogs (warnings, messages, errors)
  • Ability to add new UI components (menus, settings tabs, wizards, etc.)
  • Document access through a virtual file system
  • Interaction with the compiler and debugger
  • A common manifest file-format for specifying plugin parameters
  • Ability to add new document types
  • Define wizards
  • and many more…

Today some additional extensions SDKs (Software Development Kit) based on JSR-198 are available like:

  • Oracle JDeveloper Extensions SDK
  • Eclipse SDK
  • etc.

These SDKs allow developers to build their own extensions in an easy way and it enables them to use them together with any JSR-198 based IDE.

IDE plugin in pratice
In my everyday work I am using SQL Developer – from a technical point of view that tool is nothing else than a specific customization of the JDeveloper IDE and it can easily be extended with Oracle JDeveloper Extensions SDK (JSR-198).

As mentioned before I was missing some simple but useful feature – DB Jobs management – and therefore I decided to prepare such a plugin on my own. After some research I realised how easy and powerful extension for IDE building is (especially for SQL Developer). Beside the standard java based SDK Oracle prepared something called “User Defined Extensions” that allows building plugins by preparing definitions of such an IDE object as reports, actions, editors or navigators in simple XML files. At one hand this solution is limited, but on the other hand it really makes life easier when you want to extend SQL Developer with some simple feature.

Database Jobs SQL Developer plugin
This extension covers a simple functionality that is not by default supported in SQL Developer (1.5). Extension allows simple Oracle Database Jobs management. Most of the functionality has been implemented as user-defined extensions.

How to install

  1. Download file plugin.gz
  2. Extract file com.goyello.sqldevplugin.jar from gzip archive (tar -xzf plugin.gz)
  3. Copy com.goyello.sqldevplugin.jar file into <SQLDeveloper>/sqldeveloper/extensions/

How to use it

  1. Expand “Jobs” folder in connection navigator
  2. Right click on selected job
  3. jobsfolder Chose one of functions:
  • Open (shows job parameters)
  • Alter (changes job parameters)
  • Execute (executes job)
  • Add new (defines new job)
  • Remove (removes selected job)

Licence
This plugin is freeware.
You may use and redistribute this product without any charge under the GNU General Public License.

My next blog post will be a sample tutorial that will help you in creating your own extension for most Java based IDEs (especially SQL Developer). I will show you how easy and fast you can improve your IDE for additional functionalities and adapt it for your personal needs.

  • airlinesjobs
    Thanks for the explanation, dbms_scheduler package is available from 10g and many people are still using previous versions of database ... but you are right adding this would be for sure useful.
  • streed
    Hi,
    I'm having issues downloading the plugin.qz file. I'm getting the following error. Any suggestions?

    High security alert!!!
    You are not permitted to download the file "plugin.gz".

    URL = http://blog.goyello.com/wp-content/uploads/2009...


    Thanks,
    Dave
  • Rainer Weninger
    If you dont got a job, you cannot add a new one. This is very annoying and makes a good addon useless, I am afraid. I will stick to my self made one until this "bug" is corrected ... but I hope that it will be corrected.
  • Xenofon,

    thanks for your comment :) - dbms_scheduler package is available from 10g and many people are still using previous versions of database ... but you are right adding this would be for sure useful.

    If you will have results in adding this features as SQL Developer extension feel fee to share with your results on this blog.

    Other people opinions are the best for improving own concepts :)

    Krzysztof
  • Xenofon
    Hi Krzysztof,
    I too was delighted to find out about your extension from Oracle's website.
    But I have to say, that I was disappointed to find out, that it only supporting the "old" jobs, that is the DBMS_JOB package. I had hoped to find a GUI for administration of the DBMS_SCHEDULER packages, which are the "new" concept of Job-scheduling in Oracle.

    What do you think about that? It is a very mighty concept and would take a lot more effort to implement and support all its features though. Well, perhaps I should do that one... :-)

    Xenofon
  • Krzysztof,

    Thanks for the explanation, it certainly makes sense now why you didn't have it at the actions level.

    I never thought to modify the the SQL myself ;)

    Excellent job, a very welcome plugin.

    John.
  • Krzysztof
    John,

    thanks for nice feedback - i agree with You that "Add new" at "Jobs" level would be more useful. The reason why i prepared it in that way is because 'User-defined extension" does not support adding "actions" at Folder level and fixing that would require using pure JDeveloper SDK - so whole plugin refactoring - will fix it in next release :).

    To see all DB Jobs - maybe yes (?)... i followed standard that is in other tree nodes (access to uses schema tables, views etc..). But if You want to change it to see all users DB Job You replace ALL_JOBS (in select statement in XML files) to for example ... DBA_JOBS etc...

    Regards,
    Krzysztof
  • Very nice plugin.

    One bit of feedback though, I initially got a bit confused because I tried it as a user who had no jobs configured, so with the plugin you don't get the context menu to then create a new job etc.

    It would be nice to have the 'Add new' option appear when you right-click the 'Jobs' entry, rather than an individual job.

    Also, it would be great if SYSTEM (or any DBA privileged account) got a view of all jobs and not just the ones they created perhaps?)

    John.
blog comments powered by Disqus