Development Guidelines

Development Instances

ExtraView recommends that customers install at least two, and preferably three instances of ExtraView, supporting web software and database. The staging environment is optional. These instances should preferably be installed on two separate machines. More information on this topic is available in the Administration Guide.

  1. A development instance – all development happens on this instance. When development and testing is complete, the code is moved to . . .
  2. A staging instance – final testing and QA happens on this instance, after the development code is staged to this environment. Once the final testing is complete, the code is moved to . . .
  3. A production instance – this is the instance of code that accesses the live database and is run by users.

The Development Environment

  • ExtraView recommends a Window platform for development, although all the essential tools are available under Unix, Linux and Solaris
  • Web Server – such as Apache 2.0.48 or later
  • Application Server – such as Apache Tomcat 4.1or later
  • ExtraView – current version
  • Sun J2SE JDK 1.4.1 or later
  • Note: The JDK that you use to compile your user custom code must be the same version used by ExtraView to build ExtraView
  • ExtraView and associated jars for developing user custom code.

Development tools

  • Preferably use an IDE such as Eclipse
  • Any text editor can be used in place of the IDE, allowing you to use platforms other than Windows as your development platform
  • ExtraView provides a file named user_custom_project.zip. This will create a complete development project and includes the build script compile_usercustom.bat for Windows as a development platform
  • Do not develop code on your production ExtraView environment. At minimum, set up a separate development environment
  • Within ExtraView, set the behavior setting named USER_CUSTOM_CLASSNAME, on the Administration menu to be the name you will use for your UserCustom class, for example –
    com.extraview.usercustom.myCompanyName

Basic Development Steps

  1. Use javac with the classpath for your system and include the jars
  2. Develop your code in a class named myCompanyName.java as the source file
    This class may extend UserCustom.java or if you want to inherit the capabilities that ExtraView ships in its best practices implementation, then you will extend BestPractices.java. BestPractices.java extends UserCustom.java
  3. Compile the new myCompanyName.java code
  4. The myCompanyName.class is copied into the appropriate class directory. This is nominally –

    <tomcat-base>/webapps/<instance-name>/WEB-INF/classes/com/extraview/usercustom

  5. Test your code – the application server must be “bounced”, i.e., stopped and started, before you run the ExtraView application within your browser. Note that when bouncing the application server, all current interactive sessions are lost and all users are required to login into ExtraView again
  6. Test the new code by running through use case scenarios. For example, add a problem to invoke the ucAddPreInsert method. Inspect the output through ExtraView and by looking at the system log
  7. You should develop your code to output debug messages to the system log by invoking the system logging method
  8. System.err.println messages are displayed on the application server console. This makes its use ineffective, and makes the system logging method much more preferable and convenient to use.
  9. JVM Memory

    If ExtraView gets even just a single OUT OF MEMORY error, then the JVM –Xms and –Xmx arguments should be increased at the startup time of the JVM. Note that the JVM_HEAP environment variable is used to set these parameters