<html>
<head>
  <TITLE>Editions and Modules for NetBeans 3.3</title>
  <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css">
</head>

<body>
<h1>NetBeans 3.3 Editions &amp; Modules</h1>
<p>
<font class="h2"><b>1. Editions</b></font>
<p>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;&nbsp;</td>
<td colspan="2" ><b><i>Do you like our current distribution or would you prefer to have more editions?</i></b><br>&nbsp;</td>
</tr>


<tr><td></td><td colspan="2" height="1" class="tablehbg"><img src="https://netbeans.org/images_www/map_site/trans.gif" width="1" height="1" border="0" alt=""></td></tr>

<tr >
<td>&nbsp;&nbsp;</td>
<td valign="top"><br>&nbsp;<h2>44/45 (97.77%)</h2></td>
<td><br> - <b>Empty Edition</b> - contains only OpenIDE, Core and Autoupdate module. This edition is suitable for developers using NetBeans as a Tools Platform<p>&nbsp;</td>
</tr>

<tr>
<td>&nbsp;&nbsp;</td>
<td valign="top">&nbsp;<h2>44/45 (97.77%)</h2></td>
<td> - <b>Standard Edition</b> - contains most important modules for Java development - something like current NetBeans build.<p>&nbsp;</td>
</tr>

<tr>
<td>&nbsp;&nbsp;</td>
<td valign="top">&nbsp;<h2>21/45 (46.66%)</h2></td>
<td> - <b>NetBeans Developer Edition</b> - similar to Standard Edition, but preconfigured for developers of NetBeans modules.<p>&nbsp;</td>
</tr>

<tr>
<td>&nbsp;&nbsp;</td>
<td valign="top">&nbsp;<h2>23/45 (51.11%)</h2></td>
<td> - <b>Full Edition</b> - contains all stable modules available on NetBeans website.</td>
</tr>

<tr>
<td>&nbsp;&nbsp;</td>
<td>&nbsp;</td>
<td><li>Should modules which are not in Standard Edition be <font class='titlec'>11/23 (47.82%)</font> <b>enabled</b> <font class='titlec'>12/23 (52.17%)</font> <b>disabled</b><br>&nbsp;</td>
</tr>

<tr><td></td><td colspan="2" height="1" class="tablehbg"><img src="https://netbeans.org/images_www/map_site/trans.gif" width="1" height="1" border="0" alt=""></td></tr>


</table>
<p>
<font class="default">
<h2>2. Modules</h2></font>
 <table border="0" width="90%">
 <tr>
 <td>
    There are some modules, which became stable and are not in distribution.
  On the other side, some modules could be removed from NetBeans distribution
  and become only available on Autoupdate server. Please vote:
  </td>
 </tr>
 </table>
 <br>
<table cellpadding="1" cellspacing="0" border="0" class="tablebg" width="90%">
  <tbody>
    <tr>
      <td>
      <table border="0" cellpadding="3" cellspacing="1" width="100%">
        <tbody>
          <tr>
            <td colspan="5" class="tablehbg" align="center"><font class="tablehfont">
     Modules</font><br>
            </td>
          </tr>
          <tr class="tablecbg">
            <td align="center"><font class="tablecfont">Module Name</font></td>
            <td align="center"><font class="tablecfont">Description</font></td>
            <td valign="Top"><font class="tablecfont">Current Status</font><br>
            </td>
            <td valign="Top"><font class="tablecfont">Standard Edition</font><br>
            </td>
            <td valign="Top"><font class="tablecfont">Autoupdate Only (and
"Full Edition" if it will be accepted)</font><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td valign="Top">
            <div align="center"><a href="http://apisupport.netbeans.org">
   apisupport-full</a>
            <br>
            </div>
            </td>
            <td valign="Top">Development-time support for the Open APIs. Using
this module you can develop extensions to the NetBeans IDE within itself.
 Includes a complete copy of the API documentation for offline browsing and
 Javadoc index searching. Has templates for many differents parts of the APIs,
 code completion, facilities for testing modules and individual objects, and
 more.<br>
            </td>
            <td valign="Top">Stable with NB3.2, available at Autoupdate. It
could make startup longer. Big module (~3MB)<br>
            </td>
            <td valign="middle" align="center"><h2>4/42<br>(9.52%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>38/42<br>(90.47%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://cpplite.netbeans.org/">
    cpplite</a>
            </code></td>
            <td> Lightweight support for development C/C++ applications.</td>
            <td valign="Top">Stable with NB3.2, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>6/44<br>(13.63%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>34/40<br>(85%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://innertesters.netbeans.org/">
    innertesters</a>
            </code></td>
            <td> Support for unit-testing classes using static inner test
  classes. </td>
            <td valign="Top">Stable with NB3.2, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>8/41<br>(19.51%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>33/41<br>(80.48%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://jasm.netbeans.org/">
    jasm</a>
            </code></td>
            <td> View/edit bytecode.</td>
            <td valign="Top">Beta, works with NB3.2<br>
            </td>
            <td valign="middle" align="center"><h2>9/38<br>(23.68%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>29/38<br>(76.31%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://junit.netbeans.org/">
    junit</a>
            </code></td>
            <td> Support for unit and integration testing with the JUnit
 framework.</td>
            <td valign="Top">Beta, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>17/40<br>(42.5%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>23/40<br>(57.5%)</h2><br>
            </td>
          </tr>
		  <tr class="tablerbg">
            <td align="center"><code><a href="http://logger.netbeans.org/">
    logger</a>
            </code></td>
            <td> Trace logger that allows logging of messages to multiple
  output streams,  and a UI for changing logger flags.</td>
            <td valign="Top">Beta, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>10/38<br>(26.31%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>28/38<br>(73.68%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code>
   objectbrowser
            </code></td>
            <td> Object Browser presents an alternate view of Java classes
 (as compared to the Explorer, which comes as part of the IDE's core) The
Object Browser is a three-pane window, with different panes for packages,
classes, and members, each of which can be filtered.</td>
            <td valign="Top">Currently part of build. There was already discussion
 about removing this module from build (see nbdev archive)<br>
            </td>
            <td valign="middle" align="center"><h2>11/40<br>(27.5%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>29/40<br>(72.5%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://serialversion.netbeans.org/">
    serialversion</a>
            </code></td>
            <td> A wizard to scan source code for serial version UIDs and
  prompt to fill them in where they are missing. Also helps manage serialization-related
  Javadoc fields. </td>
            <td valign="Top">Beta, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>12/42<br>(28.57%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>30/42<br>(71.42%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://sysprops.netbeans.org/">
    sysprops</a>
            </code></td>
            <td> Displays system properties set in the Java VM, and lets
 them be modified as well. </td>
            <td valign="Top">Stable with NB3.2, available at Autoupdate<br>
            </td>
            <td valign="middle" align="center"><h2>17/42<br>(40.47%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>25/42<br>(59.52%)</h2><br>
            </td>
          </tr>
          <tr class="tablerbg">
            <td align="center"><code><a href="http://workspaceswitcher.netbeans.org/">
     workspaceswitcher</a>
            </code></td>
            <td>Graphically represents workspaces and the windows on them
  as a double-height toolbar presenter, and allows windows to be dragged
between   workspaces.<br>
            </td>
            <td valign="Top">Nearly stable with NB3.2<br>
            </td>
            <td valign="middle" align="center"><h2>12/40<br>(30%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>28/40<br>(70%)</h2><br>
            </td>
          </tr>
        <tr class="tablerbg">
                <td align="Center"><code><a href="https://netbeans.org/servlets/ReadMsg?msgId=143117&amp;listName=nbdev">
                multilanguagual<br>
                </a> support
                </code></td>
                <td> This module adds basic support for C, C++ and Fortran development:
syntax highlighting, indentation engines, recognition of source files,
derived files (.o etc.) and executable files. Makefiles are also
supported, and native binaries can be executed. Some basic templates are also
provided. For more information and download see Tor Norbye's
                <a href="https://netbeans.org/servlets/ReadMsg?msgId=143117&amp;listName=nbdev">
                e-mail to nbdev.</a>
                </td>
                <td valign="Top"><b>Just contributed</b> to NetBeans OpenSource
                (Aug/17)<br>
                </td>
            <td valign="middle" align="center"><h2>8/42<br>(19.04%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>34/42<br>(80.95%)</h2><br>
            </td>
        </tr>
        <tr class="tablerbg">
                <td align="Center"><code><a href="https://netbeans.org/servlets/ReadMsg?msgId=143110&amp;listName=nbdev">
                external editor support (Vim, XEmacs)<br>
                </a>
                </code></td>
                <td> This module lets you use an external editor with NetBeans,
                in particular, Vim and XEmacs. For more information and download see Tor Norbye's
                <a href="https://netbeans.org/servlets/ReadMsg?msgId=143110&amp;listName=nbdev">
                e-mail to nbdev.</a>
                </td>
                <td valign="Top"><b>Just contributed</b> to NetBeans OpenSource
                (Aug/17)<br>
                </td>
            <td valign="middle" align="center"><h2>11/41<br>(26.82%)</h2><br>
            </td>
            <td valign="middle" align="center"><h2>30/41<br>(73.17%)</h2><br>
            </td>
        </tr>

        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>
</p>
<div class="default"><h2>Yours commets:</h2><p class="default"><b>david.strupl@sun.com wrote</b><br>I suggest two other editions:

1. Distributed - RMI, JINI, CORBA, EJB, etc. might not be part of the "standard" but of this special one

2. "Web development" (JSPServlets) - special edition for people working on those - again the appropriate modules might not be part of standard edition. And  on the contrary this web edition might consider not to contain Form Editor...

Maybe this is too many editions but ...

David<hr><b>david.konecny@sun.com wrote</b><br>I see as very important APISupport module. Of course it is necessary only for
specific group of users, but it seems to me that a lot of users might not
notice that there exist something like that, what might help them to understand
OpenAPIs.

With editions I would only afraid that it will be more confusing for new users.
Right now they must learn which version they want - 3.2, qbuild, dev-version.
And now they will also have to choose from editions.

The Empty edition is great idea, but I would name it "Pure Core Edition" or
something like that, because "empty" has some negative sound ;-)<hr><b>mruflin@netbeans.org wrote</b><br>objectbrowser: Depends on how the new freestyle browser looks like. If it is much better than the current one, it should be in the standard edition too.

empty edition: Not sure how useful this version is. Developers who want to use NetBeans as a Tools platform have to "tweak" it anyway to suit their needs. I think it is much more important that we provide information about how to do this. Some tutorial maybe?<hr><b>pavel.buzek@czech.sun.com wrote</b><br>1. The empty edition should have longer release cycle and different
procedures (stronger focus on quality, performance and clean APIs and
architecture are more important then features). So it should be more
separated from other editions.
The other editions can be developed, tested and release synchronously and
just divided into 2 or 3 zip files at the release time (possible for beta
builds and Q-builds(?)). It would be overkill to create 3-4 builds every day
and expect qa and developers to test them.

2. Releasing modules for the autoupdate server should be managed by the module
owners, out of the scope of the release cycle. It would be more lightweight
process which can scale for large number of modules much more easilly then
synchronous releases.<hr><b>a@etver.com wrote</b><br>Ideal for me distribution may be the current _minus_ these modules:

-Image
-Recource Bundles
-Tools Debugger
-New Module Wizard
-JNDI
-RMI
-JSP Syntax Coloring
-Recource Bundle Syntax Coloring
-JsEE Support
-Ant (Apache, sorry ;-)
-Internationalization
-Internationalization Form Cross Dependency
-JAR PAckager
-Object Browser
-Scripting Supposr
-CVS Built-in Client
-CVS Command-Line Support
-VCS Generic Command-Line Support
-Applet
-External HTML Browser
-HTTP Server
-JSPServlet
-Tomcat 3.2 Server
-VCS Core

These modules may be available via autoupdating.

And, I think, JDK ParserDB files may be "minused" too.

Andrew
<hr><b>matt.black@verizon.com wrote</b><br>Instead of "different" Editiondistributions, why not make the IDE "mode" aware.
If you can download "Modules", why not add the same sort of idea, only a super set of "Modules". (Call that a mode.)

IDE Mode 0: (IDE) - Empty Edition
 - Modules
    abc
    def

IDE Mode 1: (Java1) - Standard Edition
 - Modules
    abc
    def
    jik

etc...

This way you can also alow other to contribute "mode" definitions. Say for tuning for specific languages, setups etc... If you really get fancy and allow multiple modes to be selected at a time you could do some very cool things. but then a mode might also try to require a different mode. Well it could be done.. but you would need to watch for loops. :)
Lock the "netbeans" defined modes so that users can add modules but not remove them. And allow users to add new "modes" at will.

To me this is "Editor pref." type stuff. Not project specific, higher level than projects.

Just a t!
hought.<hr><b>rochelle.raccah@sun.com wrote</b><br>1) A long time ago there was a discussion of discoverability of modules (i.e.
advertising new or disabled modules).  If such a system were in place, I would
vote for disabling more modules by default as long as I could be notified of
what functionality was available without going exploring.

2) I think the second table above should have a radio button for developer
edition which I would have chosen instead of full edition in several of the
cases.

3) I voted to put external editor in the standard edition, but that's provided
it's stable.<hr><b>jan.chalupa@sun.com wrote</b><br>I'd prefer the "Platform" edition name to the "Empty".<hr><b>user@rgreig.freeserve.co.uk wrote</b><br>There is an argument that all modules should be available in the download and the update centre should be used for *updates*. After all, most people wouldn't be too bothered about having another couple of MB to download.

I suppose the real issue is startup time if all these modules are enabled. I imagine a lot of people ignore the current wizard page allowing you to enabledisable modules after installation. A radical solution would be to have every module *disabled* by default forcing people to go through and enable the ones they want. But maybe not so good for novices.
<hr><b>marek.vinar@sun.com wrote</b><br>test<hr><b>martin.matula@sun.com wrote</b><br>API Support module should be part of NetBeans Developer Edition. Maybe it could be useful to add a Laptop Edition, which would contain the same modules as the Standard Edition, but most of the modules should be disabled by default (at least the following modules should be disabled: Image, Resource Bundles, Text, Tools Debugger, New Module Wizard, JNDI, RMI, JSP Syntax Coloring, Resource Bundle Syntax Coloring, General Online Help, Auto Update, J2EE Server Registry, Bean Patterns, Ant, Internationalization, Internationalization Form Cross Dependency, JAR Packager, Object Browser, Scripting Support, CVS Built-in Client, CVS Command-Line Client Support, VCS Generic Command-Line Support, Applet, External HTML Browser, HTML, HTTP Server, JSPServlet, Tomcat 3.2 Server, VCS Core and maybe also Form Editor and Debugger) and the workspace would be better configured to make explorer and editor windows as big as possible (e!
.g. by removing toolbars, workspaces, reducing width of main window so it would not be wider than explorer window - editor window can be then placed on the top of the screen next to the main window and explorer)<hr><b>vbrabant@netbeans.org wrote</b><br>An Editor Edition will be super: concatenation of empty Edition + Editor module, Java module, HTML module, XML module, And CVS module.

Why?

Because that edition can be used for user that want edit some text files JAva files, HTML Files or Bundles.Properties files and also have access to CVS.
That Editor version of NetBeans will be the perfect companion to user that are interested in Open Source Projets that are on the Net and use CVS Repository for their source code.
</p>
</div>
<hr></body></html>
