RuntimeTabNB6

Tracking issue: 104223

Status: done, except moving Drivers node into a dialog


Contents



Motivation

The current state of Runtime tab in Big IDE:


Runtime tab contains a mixture of nodes that serve four different purposes:

  1. Server node for managing Java EE servers. This UI servers for configuration of servers, provides a way to start/stop server, shows log files, etc.
  2. References to "services" - Databases node, Web Services node, in M10 also EJBs node. The user can browse and test these services, pick the services she wants to use and drag and drop tables, web service operations, EJBs, etc. into an application (swing form, visual jsp page, etc.).
  3. Settings - DTD and XML Schema Catalogs node, Drivers node (under Databases node)
  4. IDE runtime information - nodes added by API support modules that are on auto update

Issues:

  1. The name "Runtime" is intuitive only for the 4th type of nodes, maybe for 1st, certainly does not work well for 2nd and 3rd type.
  2. Mixing various unrelated types of nodes in one view make the UI harder to use
  3. All other settings of a similar kind to DTD and XML Schema Catalogs or Drivers node are found in Tools menu, having catalogs or drivers in Runtime tab is an inconsistency

Discarded Solutions

There was an attempt to simply add a new Services tab for Databases and Web Services node which would serve as a place to browse and test these services as well as to start drag and drop to add them to an application. The problem is that adding another node into explorer that would be displayed by default is not acceptable. There is simply not enough space for it and even the names of tabs cannot be displayed and get trimmed ("Proj..." instead of Projects, etc.) which give very ugly first impression of the IDE.

Another proposal was to create a "Servers" tab with two types of nodes: nodes for servers (Java EE servers, etc.) and nodes for services that are known to the IDE and can be consumed by applications (e.g. web services) and leave the Runtime tab for nodes showing IDE runtime information and for 3-rd party plugins. This way the Runtime node would not show up in NetBeans distro, but there would still be two tabs if some of the modules that require Runtime tab was installed.

Proposal

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/runtime-tab_RuntimeTabNB6.png


Rename the Runtime tab (in UI) to Services, change order so that the "services" nodes (Databases, Web Services, EJBs) will be first, Servers will be after them. The API name will remain to be "runtime". Remove the setting nodes (DTD and Schema and Database/Drivers).

Rationale:

  • Only one tab
  • Remove clutter (settings nodes)
  • The name and order of nodes is optimized for what is used most. Server integration works seamlessly - starts the server automatically, etc., user can also restart or stop the server in output tab.


The content of the Services tab in 6.0 will be:

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/runtime-tab2_RuntimeTabNB6.png

Databases node

The "Drivers" node will be removed from Databases node. The Drivers node represents settings and does not fit into the new purpose of Services tab. The functionality will be moved into a dialog accessible from a context menu item "Drivers" on Databases node. This item will display a dialog with drivers, the user will be able to register a new driver from here. The Drivers dialog will not be in Tools menu, making it accessible from Databases node is enough.

The dialog will be based on other "managers" dialogs and will reuse the existing driver customizer in the right hand part to minimize work for 6.0:

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/drivers_RuntimeTabNB6.png

Another proposed change is not reflected in the above picture: to use libraries for definition of driver classpath instead of jar file. There is already an existing proposal for that.

The action on a driver "Connect using" is not necessary, instead the user can use "Add connection" and select the driver in the dialog. Removing of Drivers node will also make the UI consistent with the Servers node which does not show nodes for server types, only nodes for server instances.

Access Managers node

Access Managers functionality does belong into this new tab, but it should ideally be moved under the nodes of individual Java EE servers (currently only Glassfish/SJSAS is supported) which host the access manager. This will be addressed after 6.0. (TODO attach issue)

DTD/Schema catalog

The node DTD and XML Schema Catalogs will be removed and replaced with a dialog accessible from Tools menu. To open the schema's in editor we will use an "Open in Editor" button similarly as it is used in Tools | Templates dialog.

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/schema-catalog_RuntimeTabNB6.png

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/schema-add-catalog_RuntimeTabNB6.png

http://wiki.netbeans.org/wiki/attach/RuntimeTabNB6/schema-register_RuntimeTabNB6.png

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo