 = About the Netbeans Open Source IDE

 INDRODUCTION

   This document provides some links which give some background
   information about the Netbeans Java Integrated Developement Environment
   and Platform. An 'Integrated Developement Environment' usually refered to
   as an IDE, is a program which help programmers to write programs (true).
   The sort of help that an IDE provides is things like 'code completion'
   'colour syntax marking', etc. 

   A 'platform' is a slightly opaque word which can have a number of meanings,
   but it usually refers to a program or a set of programs and other code
   which can be used to create other programs. By 'used' I mean that the 
   actual code is modified or added to in order to create a new program. 

NETBEANS PERFORMANCE TIPS

   Netbeans is capable of taking up a very large amount of computer memory
   (RAM). It is quite capable of taking up to 200MB of memory. Since at this time
   (may 2003) most peoples computers don't have this much memory, this can
   be a problem. Once the program takes up more memory than is available, the 
   operating system has to assign 'virtual memory' (located on the Hard Disk) to
   the program and this causes Netbeans to run very slowly. In particular, when
   this situation occurs the user will notice large amounts (periods) of 'churn'
   when the user clicks on a button, or tries to open a window, or save a file
   or pretty much anything. 

   There are some possible solutions and mitigations for this problem. For example
   in the Netbeans installation directory, which should be something like
   (on a Microsoft Windows PC)
     X:\Program Files\NetBeans IDE x.x\bin\   there is a file called
     'ide.cfg'
     
   This config file contains a line which should look a bit like this
   -->>
     -J-Xverify:none -J-Xms24m -J-Xmx96m
   --<<
   In my config file, this is the only line. The switch -J-Xmx96m controls the
   size of the 'heap' which Netbeans allocates to objects in memory. If you change
   this figure to '48m', your instance of Netbeans should not be as inclined to 
   have to use virtual memory and therefor should run perhaps more smoothly.

   Another technique to get Netbeans to run at a reasonable speed is to avoid having
   too many Netbeans modules loaded. This can be done simply by not using Netbeans 
   in different 'modes' at the same time. For example, if you are editing Java Source
   code, don't also edit XML files in the same Netbeans instance. If you edit XML files
   then all then Netbeans will need to load all the XML modules which will take up
   a great deal of memory. Even if you close the XML files which you are editing, it
   is quite possible that Netbeans will not remove those modules from memory. You will
   actually have to restart Netbeans.

   
 ALEXIS DEVELOPEMENT WITH NETBEANS

   This section only consists of very patchy notes (until I have done more Alexis
   development or until Nick contributes to this).

   The Xerces (java xml and general parser) JAr files need to mounted in the Netbeans
   file system, because alexis uses them. Alexis uses Xerces  version 2.4, however 
   Netbeans currently only supports Xerces version 2.02  This is a problem because
   Xerces 2.4 provides extensive facilities for validation against schemas etc which
   Xerces 2.02 does not. This is a problem which Nick is currently working on.

   The Alexis developer, therefore will need to mount the Xerces 2.4 Jar files in the Netbeans
   Development IDE

   The Alexis source code needs to be mounted at the 'src' directory in order for it
   to be compilable and in order for Netbeans to understand the various class dependencies.
   This is because of the Alexis package hierarchies (and is the same as for any
   set of packages in Netbeans).
   
   However, the source code should probably also be mounted
   one directory 'up' in the Alexis source code, so that the developer can see the files in
   that directory. This process of mounting the same source 'tree' twice in Netbeans at two
   different points at the directory structure does NOT cause any problems for netbeans.

   Another Netbeans trick is to mount the 'default file system' which is actually the class
   hierarchy which makes up Netbeans itself. This allows the developer to see precisely
   which class or object is doing what in the Netbeans IDE. To mount this 'default file system'
   right click on the 'root node' in the filesystem ... [complete me]

   To get a different sort of colour scheme for the java source editor,
   choose Tools/ Options/ Editing/ Editor Settings/ Java Editor
   Then choose the 'fonts and colors' properties, click on the elipses (...). Then
   change the background and foreground for the 'default' item. And for all the 
   other items click in the 'inherit' checkbox to make their properties the same as
   for the 'default' item. In this way you can change the background colour for the 
   whole editor (as opposed to just certain code blocks)
 LINKS

   http://www.linux-mag.com/2001-05/sun_05.html
     An article containing some information about the Netbeans
     community.



