Feedback on enterprise application development is needed!

Hi All,

We really need your feedback on all aspects of enterprise application
development in IDEA. This includes (but not limits to) development with
J2EE platform, various J2EE-related frameworks (Strungs, Hibernate,
Spring, etc.), web services and so on.

We would like to here every idea/problem/annoyance you can think of. You
can even just post links to JIRA issues, if there any, which are most
relevant for you. If you can say just "I wish you had..." it's also ok
for us.

In order to make all you wishes/discussions more categorized I'm posting
additional sub-topics for this message with narrower scope. Please post
all your ideas into them. (The discussion of this post should be
obviously done right beneath of it).

While we can't promise to implement every feature/idea you'll mention,
we will read and analyze every post. Let's shape the future IDEA version
together!

167 comments
Comment actions Permalink

An unknown class in a .tld should have an intention to create the class
<http://www.jetbrains.net/jira/browse/IDEA-4324>

http://www.jetbrains.net/jira/browse/IDEA-4324

Mike Aizatsky (JetBrains) wrote:

JSP-related discussion should be kept here.

0
Comment actions Permalink

JSP: Extract to tag <http://www.jetbrains.net/jira/browse/IDEA-5011>

http://www.jetbrains.net/jira/browse/IDEA-5011

Mike Aizatsky (JetBrains) wrote:

JSP-related discussion should be kept here.

0
Comment actions Permalink

+1

This is write once/ run anywhere (in a place called nirvana, a long,
long way from here). The run config should be related to the
application server. I create it once (maybe when I create the server).
Anytime I use that server, it pulls the information from the module that
is unique (usually, just the .war) and away it goes.

This goes back to the issue that web servers are not like the other run
configs. The others are very custom, but this is completely generic.

I have an old issue on this, but I can't seem to find it.

Robert Sfeir wrote:

I can't say this enough times: I am getting really sick and tired of
having to switch app servers for every run config. If I have a run
config right now, to create a new one, I need to also change the
module's default app server. That needs to be redesigned. I should
be able to pick an app server run config and just run my module with
it. Plain and simple. I shouldn't have to go editing anything else
and remembering the different places where this might make a
difference, and when I switch from Tomcat to JBoss or Resin, then I
also lose the jboss config files, which I have to resetup all over
again once I change to another app server. That's really really
really really annoying.

>

R

>
>

0
Comment actions Permalink

EJB exploded directory does not allow packaging of individual JSP's like
an exploded .war.


Mike Aizatsky (JetBrains) wrote:

Compilation/deployment-related discussion should be kept here.

0
Comment actions Permalink

the same is true for Tiles

maybe "always-available-css-files" can be configured?

0
Comment actions Permalink

I use RIFE Framework. I don't think you'll add RIFE support natively, but I
would like to write a plugin for it, but I can't due to lacking API's.
Specifically, RIFE template engine uses structured XHTML comments as semantic
elements, like:

Hi, <!V 'name'/>

Things like that work fine in IDEA, but there are problems:
1. Many .xhtml pages are actually templates fragments which don't even have a
single root element, because they are to be included in some specific part of
other pages
2. Many times, the template system forces me to place code in places where it is
not valid XHTML, like:

<!B 'table_row'>

...]]>
<!/B>
]]>
<!V 'table_rows'/>
</table>

It would be great for a plugin to be able to modify the context of an arbitrary
piece of code, for example so my plugin could tell IDEA that the stuff in the
<!B> is actually destined for a ]]> element.

This would be great.

Mike Aizatsky (JetBrains) wrote:

Other frameworks-related discussion should be kept here.

0
Comment actions Permalink

Mike Aizatsky (JetBrains) wrote:

HTML authoring-related discussion should be kept here.


I think HTML authoring could be improved 10x with a medium sized amount of work.
IDEA has the power sitting there, being unused (what other editor has full DOM
in memory at every keystroke??).

"Extract style," "Inline style", and other refactorings would be awesome. There
are probably dozens or hundreds of inspections that would be useful in CSS and
HTML (Maxim Mossienko implemented a few of my initial inspection requests this
week, but many more are possible).

0
Comment actions Permalink

JMX support. Basically just a checkbox on the run/debug configuration panel which says "Enable JMX monitoring", just like there is now for log viewing. Other configuration as needed, for app servers and such. Then, similar to the log viewing tab, the run panel would have a monitoring tab, which provides a (probably fairly crude) JMX browser that automatically points to the running process. Other JMX support would be nice as well (templates, possibly inspections), but simply having an auto-configuring monitoring system available would be a huge win.

--Dave Griffith

0
Comment actions Permalink

Runtime-only and test-only libraries. There's no reason the auto-complete system should ever suggest classes from my JDBC driver, just because I had to include it to run. Similarly, when I'm in product code, it should be possible to ignore JUnit classes in auto-complete, and flag them as unknown if they ever do slip into product code.

--Dave Griffith

0
Comment actions Permalink

"Struts is the most widely used web framework" I agree with Norris. All IDEs
support the struts framework. There is couple of plugins support the basic
functionality, we need advanced support. We didn't consider upgrading to
IDEA5 because of this. Please consider struts support to next release.

-Rambabu

Struts is the most widely used web framework. Look at the Struts
plugin. It does almost everything that needs to be done. Some cool
stuff would be intentions on form objects. If I create a path
(abc.do) and it does not exist, prompt me to map a new Struts action.

Mike Aizatsky (JetBrains) wrote:

>> Struts-related discussion should be kept here.
>>


0
Comment actions Permalink

Not just css. Whenever the page is constructed from other pieces by using
Tiles, includes etc. Idea doesn't understands that and sometimes mistakenly
highlights html open/close tags in red since there is no corresponding tag
in the current jsp.
That's the case when html table starts in the header and ends in the footer
page. Sometimes it's possible to redesign tiles to have those tags in one
file, but sometimes it's not convenient.
Anyhow that's a bigger issue as a whole to get Idea understand jsps
consisting of few pieces.

"Yann Cebron" <no_mail@jetbrains.com> wrote in message
news:16380853.1128697936408.JavaMail.itn@is.intellij.net...

the same is true for Tiles

>

maybe "always-available-css-files" can be configured?



0
Comment actions Permalink

For example when images/css etc. are not packed with a project but rather
reside in external directory on the web server, urls like ]]>
highlighted in red. Need a way to add a reference to the external resource
directory to resolve such links, to find css etc.


0
Comment actions Permalink

There's no reason the auto-complete system should ever suggest
classes from my JDBC driver, just because I had to include it to run.

Hmm, interesting feature, but how should IDEA know that some users still want
to use them. E.g. in case of the Oracle Driver, to use stored procedures the
right way one needs Oracle Driver specific classes.

Ahmed.

0
Comment actions Permalink

You would set a flag on the library, when I configure it in the "Modules" panel. Alternatively, I would be able to add specific libraries to individual run configurations, without adding them to be project. The first way is probably better, I think.

--Dave Griffith

0
Comment actions Permalink

You would set a flag on the library, when I configure it in the "Modules" panel.
Alternatively, I would be able to add specific libraries to individual run configurations,
without adding them to be project. The first way is probably better, I think.

You mean something like setting the path types (excluded, source, test)? The IDE is using different
colors to mark them - that would be great for libraries too.

Considering on how many "third party" libraries some frameworks depend one (e.g. Hibernate)
but those libraries are required only by the framework, I suppose such a feature would
improve greatly the performance and the responsiveness of the IDE since in this case there
would be no reason to parse those extra libraries.

Ahmed.

0
Comment actions Permalink

We need some super duper JSF support. It should gain a lot of momentum
five months after J2EE 5 is released. Please give us drag-n-drop
functionality, then the ability to edit the generated source (need to be
perty). I know Fabrique is a competitor to this, but standards are
standards. Plus all the Internet mind-share is going there.

What modern editor (besides IJ) doesn't have great JSF support.

Granted, that is in the near future. Struts support is needed first,
then JSF.

Mike Aizatsky (JetBrains) wrote:

Other frameworks-related discussion should be kept here.

0
Comment actions Permalink

+1

I am working on my first client. It's a pain to do all this manually.
I would like a way to have it create the classes manually (especially if
I am running wsdl2java against a .wsdl that is within my project). If
the .classes are older than the .wsdl, regenerate them.

I wish I had more information to give, but I haven't written a service
yet ... yet.

Mike Aizatsky (JetBrains) wrote:

Webservices-related discussion should be kept here.

0
Comment actions Permalink

Two JSPX-specific ones:

Making editing of JSPX-style pages with JSP extension useless:
http://www.jetbrains.net/jira/browse/IDEA-4701

Has bitten me a few times, took a long time to diagnose because of useless
diagnotics from Tomcat.
http://www.jetbrains.net/jira/browse/IDEA-4689


0
Comment actions Permalink

My "idea" for a struts plugin
- In the web module the user should be set the struts parameters; for example struts 1.1, 1.2.x, single o multi modules, tiles o not, validation or not. taglib or not and so on. Another option should be to add struts after the web application module is created

- Actions, tiles, form bean and others struts elements refactoring (rename, move, ...) also between struts modules

- "wizard" in order to create an action with form (and validate) and the related jsp.

- Navigation like the great struts plugin developed by Yann Cedron

0
Comment actions Permalink

I will take these suggestions into consideration, btw: a little bit of refactoring support (rename form-bean, rename parent tiles definition) is already available in latest beta ;)

0
Comment actions Permalink


Why does this sound like a perfect project for a tiny startup company with strong technological history writing inspections and refactorings...

--Dave "Will analyze and transform source code for food" Griffith

0
Comment actions Permalink

NetBeans have implemented Web Services support brilliantly in version 4.1, it has pretty much everything I would be looking for which is why whenever I do any web services based work I use NetBeans when I use IDEA for absolutly everything else.

0
Comment actions Permalink

In article <7c2dbfd120d518c7994124d4c260@news.jetbrains.com>,
Robert Sfeir <nomail@jetbrains.com> wrote:

Well you asked so I'll put it in here and see what happens.

One of the main issues I find difficult to work with with Spring is the sheer
number of xml information you have to put in. Often it's really hard to
see which bean is used by which other bean, or which controller has a parent
of controller x. It's hard to navigate these XML files and see what's
happening.


+1

Further sometimes when you refactor, you forget that a bean is no longer
in use, so when you remove it, you also have to remember that it exists in
the spring descriptors and you end up having to chase down startup errors
etc... It would make my work easier if in general when I do refactoring,
if you understood spring well enough that you also recommended that I also
remove that bean, and that particular bean also has other elements relating
to it, and pin point the location graphically, not just highlight the XML.


+1

I also find that there are a great many missing pages, highlighted
marks, etc. For example, I have

collab *.htm collab *.html in my web.xml, and I have collabController collabController collabController collabController editTextForm in collab-servlet.xml, but Home in edittext.jsp shows up highlighted as nonexistent, as does Edit text in hello.jsp. I both cases, the proper controller comes up, but IDEA does not know it. I also found following the tutorial's suggestions in ]]> about putting all my JSPs under WEB-INF did not go
well - IDEA highlighted every one of them as a problem. Admittedly, my
directory layout is a bit nonstandard:

drwxr-xr-x 4 work staff 136 Oct 6 18:20 build
-rw-rr 1 work staff 261 Sep 28 17:15 build.properties
-rw-rr 1 work staff 8650 Oct 6 15:01 build.xml
-rw-rr 1 work staff 13596 Oct 6 18:20 cobertura.ser
-rw-rr 1 work staff 3988 Sep 30 15:15 collab.iml
-rw-rr 1 work staff 10366 Sep 28 17:15 collab.ipr
-rw-rr 1 work staff 56313 Oct 7 16:09 collab.iws
drwxr-xr-x 8 work staff 272 Sep 28 18:51 lib
drwxr-xr-x 5 work staff 170 Sep 29 16:10 src-classresources
drwxr-xr-x 4 work staff 136 Sep 28 17:16 src-java
drwxr-xr-x 5 work staff 170 Sep 30 15:15 src-test
drwxr-xr-x 8 work staff 272 Oct 5 14:16 src-warresources
drwxr-xr-x 11 work staff 374 Oct 5 14:14 src-webinf
-rw-rr 1 work staff 802 Oct 5 14:15 web.xml

but ant and IDEA both seem to be coping. I have the proper copy paths
set up in my preferences.

Scott

--
Scott Ellsworth
scott@alodar.nospam.com
Java and database consulting for the life sciences

0
Comment actions Permalink

What happened to Fabrique?

0
Comment actions Permalink

I don't think correctly reformmating JSPs is impossible; Jetbrains just hasn't made a concerted effort.
Now that I am doing heavy web development with IDEA 5.0,
I am starting to see all the half-implented parts of
the release. They really need a 5.5 release which finishes the web development featues.

They need to add a JSP tab to the Global Code Style options so we can configure how we want JSPs formatted.

Settings like:

Use same indent level for java and html.
Indent <% blocks according the html level
Indent HTML tags after a <% %> block
Always place <% at column
Always place %> at column
Merge contiguous <% %> blocks, e.g.
<% } else if (true) { %>
<% if (false) { %>
becomes
<% } else if (true) {
if (false) { %>
Collapse oneline java statements to one line <% statement; %>
Insert new lines before: [ <%, %>]
Remove new lines before: [ ] The example code you listed in http://www.jetbrains.net/jira/browse/IDEABKL-3268 Simple jsp page

case 1

case 2.1

case 2.2

case 3

Could be formatted like: Simple jsp page

case 1

case 2.1

case 2.2

case 3

The difference from your example is that 1. blocks are merged. 3. html tags are not indented after a block. They continue to be indented based on the last html tag. 4. likewise the blocks are only indented based on the last ]]> block.

0
Comment actions Permalink

One more thing about the JSP formatting. I found that when I copy and paste some code in a JSP code block, it doesn't respect my Editor settings:

Paste Reformat: Indent Each Line.

I will file a jira request on that.

0
Comment actions Permalink

Related to JSPs is that the Javascript implementation is very lacking in 5.0, considering this is part of the headline feature of the 5.0 release. I won't repeast the problems here, as they are documented in the Jira request.

JavaScript context is way too limited
http://www.jetbrains.net/jira/browse/IDEA-4312

0
Comment actions Permalink

Pasting code into a JSP code block doesn't use Settings->Editor->Paste->Reformat: Indent Each Line
http://www.jetbrains.net/jira/browse/IDEA-5352

0
Comment actions Permalink

I think it would be great if IDEA had some support for Spring.
When I specify a bean for example and then specify a property for that bean, IDEA could look up what setters are available and propose them to me when I CTRL-Space inside the name attribute - along with the quick doc of the setter. When I now try to specify a value for that property, IDEA could also help with autocompletion and error markers in places wherer beans are used that don't implement the interface needed for the property. That would be a huge help. I personally don't need fancy graphs of my beans. I need an editor that is aware of the semantics of my Spring configurations.

0

Please sign in to leave a comment.