Introduction

The purpose of this wiki page is to collect and summarize all ideas for User Experience improvements in WTP.

There is no guarantee that any of the ideas listed here will be implemented in certain WTP release. This wiki page is rather a place for brainstorming and discussion. If during the evolution of an idea there is enough commitment from parties, then the idea could be put in the WTP Requirements Plan.

How to submit new idea

Each UX improvement idea should be described briefly on this wiki page with the following structure:

UX idea title
Bugzilla: link to the Bugzilla enhancement for this ideaPain pointDescribe the usability problem from users perspective. SolutionGive brief idea how to solve the problem.

For each UX improvement idea there should be a Bugzilla enhancement entry created. In Bugzilla should happen things like:

detailed description: design documents, screenshots, etc.

discussions

votes and decision whether to put the idea in the WTP Requirement Plan.

In case the idea evolves significantly in Bugzilla, this should be reflected in its brief description on this wiki page.

When submitting the enhancement in Bugzilla there are some special fields that need to be set in the bug:

Severity must be set to enhancement.

Target Milestone must be set to Future.

URL must point to the corresponding section in this wiki page.

Whiteboard must include the UX word.

Keywords must include the usability word.

Add kaloyan.raev@sap.com in the CC list.

There are already several ideas submitted in the UX ideas section that can be used as examples.

How to comment on existing idea

If you want to comment, discuss or take part in the development of an idea, then you should post a comment with your thoughts in the corresponding Bugzilla entry. Bugzilla is the place where all discussions and decisions about UX ideas happens. Here, on this wiki page, is just the summary and overview of all UX ideas.

If you want to receive future comments on an idea, then make sure you add your e-mail address in the CC fields of the bug.

Index search for Java EE metadata

Working on huge projects is a common task for many Java EE developers. Sooner or later the developer would fall in a situation where he or she needs to find an exact Java EE artifact by just remembering a portion of the artifact's name or description, but not the its exact location. In such situation the developer should try different methods of searching, including file search, full-text search, etc. It would be much more convenient if the IDE provides a Java EE metadata search.

Solution

We are all familiar with the Open Type and Open Resource index searches in the workbench and how useful they are when we try to quickly locate our files and Java classes in the huge projects we are working with. The Java EE perspective should naturally evolve these features to Java EE metadata index search, where developers can search for certain metadata in their Java EE projects.

This new feature should introduce new dialog box that looks similar to the Open Type and Open Resource dialogs. There should be a hotkey combination available that enables users to quickly call the dialog. Typing a portion of the Java EE metadata name or description should filter the available Java EE artifacts and assist the user choice.

Examples for Java EE metadata are:

EJB beans

Web servlets

EJB references

Security roles

Context-sensitive view with possible high level actions

Developing an end-to-end Java EE scenario involves many steps. It is a common situation for non-experienced Java EE developers to ask themselves: "OK. I have generated the JPA entity for my DB table. Now, what's next?". It is true that the context menus of the editors and Project Navigator contain Java EE-specific actions, but they are somehow lost for the user in the whole bunch of context-menu actions.

Solution

The Java EE perspective should provide a special view that guides and hints developers with the possible Java EE-specific steps they could execute. For example: "Generate Session facade for JPA entity".

Here are some of the characteristics that should be required for the view:

Context-sensitive. Only the actions relevant for the current (on focus) artifacts should be displayed in the view.