Dashboard > WebWork > ... > Related Tools > IDEA Plugin
  WebWork Log In View a printable version of the current page.  
  IDEA Plugin
Added by Patrick Lightbody, last edited by Philip Luppens on Mar 23, 2006  (view change)
Labels: 
(None)

This document is an MRD (Marketing Requirements Document) for the ideal vision of what the WebWork IDEA Plugin will be. At this point, no WebWork IDEA plugin has been created. When it is created, it will be based on EclipseWork.

A key success for WebWork is its ability to provide tools that make developers lives easier. This isn't just some configuration editor, but rather a complex integrated environment where developers can write their code, build JSPs, and have much of the redundant work related to WebWork automated or assisted. WebWork's IDEA integration enables developers to not only write WebWork-based applications faster, but also with much higher quality.

The IDEA Plugin has the following features:

  • Configuration browser - you can browse namespaces and see both actions and views as well as their relationships. The browser lets you avoid hunting through xwork.xml and all the included files and instead presents a logical view of all your actions and their associated views. The browser also allows for very quick access to an action if you know it by name (and optional namespace).
  • Find by usages - finding usages on a field will show you were all the views that use that field are located.
  • Refactoring support - similar to find by usages, it is very useful to rename a field in an action (or even an object that is someone in the stack/object graph) and know that all the views that reference it have been updated as well
  • Internationalization support - you can select text in a JSP or other views and automatically extract it in to the a choice of the correct resource bundles (package.properties, Action.properties, etc). Conversely, you can press Ctrl-Q on <ww:text/> tags to see what the actual text for a particular i18n key are.
  • Error reporting - the plugin is excellent at notifying you of errors before you deploy your application. Since many aspects of WebWork are based around loosely coupled and dynamic interactions, the plugin helps you see when you've had a typo such as "doccument" instead of "document". It highlights errors in OGNL expressions, i18n locations, and configuration mixups automatically for you. When these errors happen the plugin also gives you a choice of possible fixes (Ctrl-Enter).
  • Code completion - when using WebWork tags such as <ww:select value="..."/> pressing Ctrl-Space pops up a code completion dialog that introspects through all the available properties that are in the value stack, including those in your action.
  • OGNL expression evaluator - When you're editing a page you should be able to have an OGNL expression evaluator that can execute your action and use its properties to evaluate OGNL expressions to show you what you get.

quick access to action classes and action definitions, sort of like Ctl-N and Ctl-Shift-N work, I could jump to my /user/profile/edit action quickly without having to look for the actualy xml file where its located

I would be nice to have completion in a couple of different areas such as

ognl expressions, so say I have a <ww:textfield value="<Ctl-Space>"/> it should be able look into the action and see my user, actionMessages, actionErrors, etc propertys and popup a list of them to choose from

css classes and css ids, this is out of the scope of the plugin but i'd nice to be able to have completions for css too, although I have my css files included in a sitemesh decorator.. which brings up another question, how about a sitemesh funcitonality too? or even a OpenSymphony IDEA Plugin? but thats getting out of hand already.. just thinking out loud here

Posted by Francisco Hernandez at Jun 10, 2004 20:17 | Permalink

I think it would be difficult to add action-specific OGNL code-completion. I my experience, views are used by many actions, not just one. It would have to find all of the actions that are mapped to this view, find the common public methods, then display those. Not sure this would be faster then looking it up on your own.
This does point to a possible need for interfaces between the action and view layer. Could Actions present themselves as interfaces to the view?

Posted by Michael Greer at Jul 20, 2004 11:03 | Permalink

Are there currently any plans to actually create a plugin for either Eclipse or IDEA? I also believe that Webworks possibilities to succeed are slim if there is no IDE support, even though Java-programmers like to write lots of code and configuration files by hand...

Posted by Daniel P at Jan 19, 2005 09:53 | Permalink

Check out:

http://forums.opensymphony.com/thread.jspa?threadID=91&tstart=0

It is actually starting. Please email me if you can help!

Posted by Patrick Lightbody at Jan 25, 2005 22:04 | Permalink

where is the plugin download ?

Posted by brain wang at Apr 23, 2005 22:36 | Permalink

If you checkout the link above your post you'll see that it's still in development. Would be good once it's complete though. Could always help it along by joining as a developer...

Posted by Riaz Khanmohamed at Apr 24, 2005 04:22 | Permalink

Oh,sorry,But when is it complete?

Posted by brain wang at Apr 26, 2005 21:22 | Permalink
Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.9 Build:#527 Sep 07, 2006) - Bug/feature request - Contact Administrators