Template Version:
1.8
Modified: 1/10/05
Location:
http://sac.eng/arc/Processes/Projects/ARC-FuncSpec.html
NetBeans is the Sun sponsored open source Integrated Development Environment (IDE).
This document is a functional specification for the NetBeans 6.7 fast-track review (LSARC/2009/288) covering the whole product and its changes in one case.
The NetBeans IDE 6.7 is a set of modules written in Java. This case is an extension to the previous NetBeans 6.0 cases, namely the NetBeans 6.5 case (LSARC/2008/573).
NetBeans 6.7 is a modular and extensible development environment (IDE) written in Java. It is made of number of modules built on top of the NetBeans Platform.
NetBeans Platform is a Java application framework that provides runtime for functional plugins (modules) in order to simplify development of extensible, modular and cooperating Java based desktop applications.
NetBeans Core IDE is a set of modules written in Java based on the NetBeans Platform application framework. The modules provide essential functionality for an IDE tool needed to support developing in Java (J2SE platform) and possibly other languages. In 6.7 a new feature of integration with the collaboration server kenai.com was introduced. In 6.7 a new feature integrating Maven Support into the standard product was introduced. This feature also affected Java EE support modules.
Java EE Support modules represent a subset of essential tools needed to build any IDE for Java EE development, namely JSP/Servlet development, JSF, tag libraries, Java Persistence, EJBs, Web Services, Java EE Application Clients, complete Java EE Applications, deployment and debugging, server integration SPIs, integration with Sun Java System Application Server 8.x and 9.x, GlassFish v1, v2 and v3 Prelude, Tomcat and other servers, internal HTTP server, external web browser support, HTTP monitoring and database support.
Ajax/Javascript tooling for NetBeans includes support for developing software in Javascript language, including Ajax support. JavaScript Debugger enables client side debugging of JavaScript code being executed in Internet Explorer and FireFox browsers. Http Client Monitor allows monitoring of normal and Ajax HTTP request and response details at the client side for Firefox browser.
The NetBeans Mobility (ME) includes optimized support for development of Java ME CLDC/MIDP and and CDC/(FP, PBP, PP, AGUI) applications and it is integrated with Sun Java Wireless Toolkit emulator environment. Emulators from device manufacturer, such as Nokia, Sony Ericsson, Siemens, Motorola, Ricoh etc. for CDC and CLDC can be integrated as well.
NetBeans Profiler is a project to provide a full-featured profiling functionality for the NetBeans IDE. The profiling functions include CPU, memory and threads profiling as well as basic JVM monitoring, allowing developers to be more productive in solving memory or performance-related issues.
Ruby tooling for NetBeans includes support for developing software in the Ruby languages, including the Ruby on Rails web framework.
PHP tooling for NetBeans includes support for developing software in PHP language. PHP Editor (Code completion, syntactic and semantic code highlighting), support for heredoc notation and PHTML, debugging using Xdebug, generators for MySQL database code snippets.
The NetBeans C/C++ project enables C and C++ developers to edit, build, run and debug native (C and C++) applications and libraries. In 6.7 a new feature of profiling capabilities for C/C++ applications was added.
new in 6.7 - Ergonomics also known as Feature on Demand, is a functionality allowing to dynamically enable known module clusters (feature blocks) only when they are needed by the user, and providing simplified proxy UI for them. This makes the running IDE smaller, faster and less memory demanding since not all modules need to be enabled.
decoupled from the standard build and moved to Update Center in 6.7 - tooling support for the SOA BI runtimes.
decoupled from the standard build and moved to Update Center in 6.7 - UML Modeling project provides UML modeling features to the NetBeans IDE. UML modeling allows analysts and designers to design applications using a standard modeling language. Developers are then able to generate source code from the UML model and update the model from changes made in their source code.
decoupled from the standard build and moved to Update Center in 6.7 - NetBeans Visual Web project enables Java developers to rapidly build standards-based web applications in NetBeans by dragging and dropping components and data sources on the WYSIWYG Visual Editor. It provides a comprehensive library of JavaServer Faces components and deploys your projects as a Web Archive (WAR) to Java Enterprise Edition containers like Sun GlassFish Enterprise Server, JBoss, BEA WebLogic, IBM WebSphere, Tomcat, and others.
deprecated in 6.7 – GSF is an infrastructure designed for implementing language editing features, and was used before NetBeans 6.7 for many languages, including Ruby, JavaScript, PHP, CSS, YAML and others. In NetBeans 6.7, it is replaced by the new Parsing API, Indexing API and the rest of GSF was refactored into new common base called CSL. All the GSF-based language editors in the NetBeans standard distribution are migrated to Parsing API and CSL in NetBeans 6.7. GSF continues to be available (as a deprecated API) for external modules that are not migrated to newer APIs.
deprecated in 6.7 - GLF (aka Schliemann) infrastructure modules were moved from the distribution to update center in 6.7 release. They were used in the past by several "simple" languages but in the current release they are not used by any NetBeans.org hosted modules. There might still be outside Sun users of these modules but for these they will be available through update centers (downloadable after installation).
Defining features of NetBeans 6.7 were Connected Developer feature (integration with the online collaboration server kenai.com) and integration of Maven Support into the standard build (previously available on Update Center).
The set of main new features in NetBeans 6.7 is listed above. The full list of new features is available on this page: NetBeans67
A more user level description of implemented features is listed in:
NewAndNoteWorthyMilestone1NB67
Detailed planning documentation is available at http://wiki.netbeans.org/NetBeans67
Java 2 Standard Edition 1.5.0
Java 2 Standard Edition 1.6.0
Javac Compiler
GlassFish v3 Prelude, GlassFish v2.1 (Sun GlassFish Enterprise Server v2.1) and previous version of SJSAS: 9.1, 9.0 and 8.2, including the components bundled in the appserver (JSF, JSTL, web services support, Java DB database, Java Persistence, ...)
JAX-WS 2.1.4 implementation
Standalone Java Persistence runtime
Java EE 5 samples
JAXRPC 1.6
JAX-RS (JSR 311) implementation, code named Jersey
Kenai WS API
Ant-Contrib 1.0b3 - The Ant-Contrib project is a collection of tasks for Apache Ant
Apache Ant 1.7.1 - Ant build tool
Apache Jakarta Commons FileUpload 1.0 - File upload component
Apache Jakarta Commons Lang 2.3 - Logging component
Apache Jakarta Commons Logging 1.1 - Logging component
Apache Jakarta Http client 1.3 - Http client
Apache Jakarta Http client 3.1 - Http client
Apache Lucene 2.3.2 - Java-based indexing and search technology
Apache Maven 2.1-20080623-patched - Maven embedder
Apache Struts 1.3.8 - Framework for creating Java web applications
Apache Tomcat 3.2 - Tomcat HTTP server (internal)
Apache Xerces 2.8.0 - Xerces XML parser
bcprov jdk15-139 - JCA security provider
bdjo - BD-J Object builder
Beans Binding 1.2.1 - Reference implementation of Beans Binding
Bugzilla Connector 3.1.1 - Java connector to Bugzilla issue tracking system
Code Generation Library 2.2 - Library for extending JAVA classes and implementing interfaces at runtime
Commons Codec 1.3 - Commons Codec provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs
Commons HTTP Client 3.1 - Extensions for java.net.* packages
Commons Net 1.4.1 - Apache Commons Net implements the client side of many basic Internet protocols
CSS 2.1 Specification - Documentation for the CSS 2.1 standard
Debug Commons 0.10.0 - Contains library intermediating communication between the debug-commons backends and Java frontend
Derby 10.2.2.0 - Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java
FireBug Service 1.2.1
Flute 1.3 - Parser for CSS parsing
Flying Saucer XHTML Renderer R7final - Java XHTML+CSS renderer
FreeMarker 2.3.8 - Template engine
Groovy 1.5.7 - Groovy Language distribution
H2 1.0.79 - Java SQL database
Hibernate Library 3.2.5 - The Hibernate library contains all the requried jars to implement the hibernate technologies
HTML 4.01 Specification 4.01 - Documentation for the HTML 4.01 standard
Http Client 3.0.1 - Http protocol extension utilities
httpunit 1.6.2 - Library for automate HTTP unit testing
Ini4J 0.4.1 - Java API for handling Windows ini file format
Jakarta Slide 2.1 - Slide is a content repository which can serve as a basis for a content management system / framework and other purposes
Java CUP 11 - LALR Parser Generator in Java
Java Native Access 3.0.9 - Dynamically access native libraries from Java without JNI.
Java Server Faces 1.2 - Java Server Faces
JDOM 1.0 - Java API for XML manipulation
JMUnit 1.2.1 - http://sourceforge.net/projects/jmunit/
JRuby 1.1.4 - The Java-based implementation of Ruby
JRuby 1.2.0 - The Java-based implementation of Ruby
JRuby Parser 0.1 - A Ruby parser in written Java useful for IDE's and Ruby code analysis tools
JSch 0.1.41 - Java implementation of SSH2
JSP Standard Tag Library 1.1.2 - JavaServer Pages Standard Tag Library
JUnit 3.8.2 - JUnit is a regression testing framework
JUnit 4.5 - JUnit harness runtime
JUnit 4.5 - JUnit is a regression testing framework
KXML Pull Parser 2.3.0 - kXML is a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices. In contrast to kXML 1, kXML 2 are based on the common XML pull API
Maven Dependency Tree 1.2 - Maven Dependency Tree
Mylyn Commons library 3.1.1 - Mylyn Commons library
Mylyn Commons Network library 3.1.1 - Mylyn Commons Network library
Mylyn Tasks Core library 3.1.1 - Mylyn Tasks Core library
MySQL Connector/J 5.1.6 - Allows Java programs to interact with a MySQL database
NetBeans Active Sync Library 5.0 - Library that makes possible to use Active Sync software.
perseus-nb 1.0 - SVG Perseus Library
PHPDocumentor Documentaion 1.4 - Documentation for PHPDocumentor tags
PostgreSQL JDBC Driver 8.3-603 - Allows Java programs to interact with a PostgreSQL database
Proguard Obfuscator 4.2 - Free Java class file shrinker, optimizer, obfuscator, and preverifier
Rails 2.3 - web application framework
Ricoh Ant Tasks 2.0 - Ricoh specific Ant tasks
SAC 1.3 - API for CSS parsing
Security - Tools for signing BD-J disc images
Servlet API 2.2 - Java Servlet API
Shale Remoting 1.0.4 - Java web application framework
Smack API 3.1 - Open Source XMPP (Jabber) client library
Sonatype Nexus Indexer 1.2.2 - Maven remote repository indexing engine
Spring Framework 2.5 - Java/J2EE application framework
Spring Web MVC 2.5 - Java web application framework
Subversion Java-HL bindings 1.6.0 - Java bindings library for subversion client
SVNClientAdapter Library 1.6.0 - Integration library for subversion client
Swing Application Framework 1.0.3 - The JSR-296 Swing Application Framework prototype implementation
Swing Layout Extensions 1.0.3 - Swing Layout Extensions
Swing Worker 1.1 - Long running Swing GUI interacting tasks
SwingX 0.9.5 - additional Swing components - Swing extensions
TopLink Essentials v2ur1-build-09d - Implementation of Java Persistence API in GlassFish
XML Commons Resolver 1.2 - Library used to load XML catalogs to resolve external references
Sun Java ME SDK (possibly some future version) – building on top of NetBeans Platform and NetBeans Mobility
Sun Studio (possibly some future version) – building on top of NetBeans Platform and a subset of modules of NetBeans IDE
Sun Java CAPS (possibly some future version) – building on top of NetBeans Platform and a subset of modules of NetBeans IDE
Java FX SDK (possibly some future version) – adding extra modules to support Java FX platform on top of NetBeans IDE
The previous case for NetBeans 6.5 (LSARC/2008/573).
See above.
NetBeans IDE is a set of modules based on the NetBeans Platform.
The modules represent independent pieces of functionality providing various features to end users and to other modules.
Changes introduced in 6.7 release consist of bug fixes and code changes in existing 6.5 modules, and also additions of new modules to provide new functionality. Changes of the public NetBeans APIs are enumerated in the Exported Interfaces section below.
Here we mention changes of the following two categories of interfaces since NetBeans 6.5
the main external interfaces used (imported) by modules,
a list of interfaces provided (exported) by modules.
The main entry point for the NetBeans exposed APIs is under: http://bits.netbeans.org/dev/javadoc/index.html, however that document does not list project private APIs.
Changes to exported interfaces:
Comprehensive list of changes in NetBeans APIs since NetBeans 6.5:
(May 6 '09) org-netbeans-modules-projectuiapi: OpenProjects.open() supports visual progress
(Apr 23 '09) org-netbeans-modules-editor-lib: Making method EditorUI.textLimitWidth protected
(Apr 20 '09) org-netbeans-modules-parsing-api: Fixing typo: IndexingManager.refreshAllIndices()
(Apr 15 '09) org-netbeans-modules-autoupdate-services: Feature enabled only when all its dependencies are enabled
(Apr 15 '09) org-netbeans-modules-parsing-api: Adding Context.checkForEditorModifications
(Apr 7 '09) org-netbeans-modules-editor-lib2: EditorActionRegistration annotation added
(Apr 7 '09) org-netbeans-modules-projectuiapi: Utility method OpenProjects.isProjectOpen
(Apr 7 '09) org-openide-awt: AlwaysEnabledAction extra properties and Action.NAME synchronization
(Apr 6 '09) org-openide-modules: Dependency class made serializable
(Apr 3 '09) org-netbeans-modules-server: Extensible actions on root server node
(Apr 2 '09) org-netbeans-modules-parsing-api: Adding IndexResult.getRoot and getRelativePath
(Apr 2 '09)
org-netbeans-modules-project-ant: Added
SourcesHelper constructor accepting Project
(Apr 1 '09) org-netbeans-core-ide: Annotation to register Nodes into Services tab
(Apr 1 '09) org-openide-nodes: Support for declarative Node registrations
(Mar 31 '09) org-netbeans-modules-java-source: Migrated to the parsing.api
(Mar 31 '09) org-netbeans-spi-tasklist: Task List implementation uses Indexing API to cache scanned tasks.
(Mar 30 '09) org-netbeans-modules-options-api: "Classic" mode fully implemented in module
(Mar 27 '09) org-netbeans-modules-parsing-api: Adding IndexingManager.refreshAllIndicies()
(Mar 27 '09) org-netbeans-modules-parsing-api: Adding QuerySupport.findRoots(...) methods
(Mar 16 '09)
org-apache-tools-ant-module: Added
AntSession.getIO
(Mar 8 '09) org-netbeans-spi-viewmodel: Check extension to NodeModel.
(Mar 8 '09) org-netbeans-swing-outline: Add a support for rendering of check-boxes in the tree column.
(Mar 8 '09) org-openide-explorer: Support for check-boxes displayed next to node icons.
(Mar 6 '09) org-openide-io: Adding API to control output color and programmatical scrolling
(Mar 5 '09) org-openide-awt: Support for showing of notification-like messages in the main status line.
(Mar 3 '09) org-netbeans-modules-editor-indent: Enhance Context class with Lookup so that indenters can communicate with each other.
(Mar 3 '09) org-netbeans-modules-project-ant: Register Ant based projects with @annotation
(Mar 2 '09) org-netbeans-modules-parsing-api: Adding IndexingManager.refreshIndexAndWait()
(Mar 1 '09) org-netbeans-modules-parsing-api: Support for marking files dirty
(Feb 28 '09) org-netbeans-api-debugger: Support for providing initial values of properties.
(Feb 28 '09) org-netbeans-api-debugger: Support for listening to changes of property values.
(Feb 26 '09) org-netbeans-modules-parsing-api: Support for explicit index refreshing
(Feb 25 '09) org-netbeans-modules-parsing-api: Adding Context.addIndexingJob
(Feb 20 '09) org-netbeans-modules-parsing-api: Adding Snapshot.getTokenHierarchy
(Feb 18 '09) org-netbeans-modules-java-project: Constants for SourceGroupModifier
(Feb 18 '09) org-netbeans-modules-projectapi: introduction of SourceGroupModifier, a way to create SourceGroup if missing
(Feb 16 '09) org-netbeans-modules-editor-lib: Adding HyperlinkType.ALT_HYPERLINK
(Feb 16 '09) org-netbeans-modules-editor-settings: Adding SimpleValueNames.ALT_HYPERLINK_ACTIVATION_MODIFIERS
(Feb 5 '09) org-openide-io: Multiple IOProvider support, possibility to specify "parent container" for IO tab
(Feb 3 '09) org-openide-filesystems: Read files with asText(), asBytes() and asLines()
(Feb 2 '09) org-netbeans-api-debugger: Lookup improvements and service annotation registration.
(Feb 2 '09) org-netbeans-api-debugger-jpda: Annotations for debugger service registration.
(Feb 1 '09) org-netbeans-modules-editor-util: Added DocumentUtilities.getDocumentVersion(Document)
(Jan 29 '09) org-openide-windows: Window system customizations on TopComponent level
(Jan 26 '09) org-openide-util:
Added
loadImageIcon(String resource, boolean localized)
(Jan 23 '09)
org-netbeans-modules-projectapi: Add
annotations @ProjectServiceProvider and
@LookupMerger.Registration
(Jan 22 '09) org-netbeans-api-annotations-common: Initial version released
(Jan 15 '09) org-netbeans-swing-outline: Possibility to define comparator for sorting the rows
(Jan 14 '09) org-openide-filesystems: Possibility to add FileChangeListeners on File (even not existing)
(Jan 13 '09) org-netbeans-api-debugger-jpda: Improve threading model.
(Jan 13 '09) org-netbeans-modules-projectapi: Provide project icon without actually loading the project
(Jan 13 '09) org-netbeans-swing-tabcontrol: Added new methods to WinsysInfoForTabbedContainer class which can adjust the behavior of TopComponents in tabbed container.
(Jan 13 '09) org-openidex-util:
Added
utility class Utils
(Jan 13 '09) org-openidex-util:
Added
interface SearchInfo.Files
(Jan 12 '09) org-openide-filesystems: Added FileUtil.getConfigFile and getConfigRoot for simpler access to default filesystem
(Jan 10 '09) org-netbeans-modules-settings: readProperties can designate its replace
(Jan 10 '09) org-netbeans-modules-settings: @ConvertAsProperties annotation
(Jan 9 '09) org-netbeans-swing-outline: Allow persist column sorting
(Jan 8 '09) org-openide-util:
Added
keyToString(KeyStroke stroke, boolean portable)
(Jan 6 '09) org-openide-awt: Allow messages to show in the main status line permanently.
(Jan 6 '09) org-openide-modules:
Added
annotation @PatchedPublic
(Jan 1 '09) org-netbeans-modules-parsing-api: Parsing API created
(Dec 19 '08) org-openide-filesystems: Persisted registration of file extension to MIME type
(Dec 1 '08) org-openide-filesystems: FileChooserBuilder added
(Nov 28 '08) org-netbeans-modules-settings: Allow convertors to recognize .xml files in specially attributed folders.
(Nov 28 '08) org-openide-dialogs: Simplify handling error/warning/info messages in dialogs
(Nov 28 '08) org-openide-loaders: Deprecation of Toolbar drag and drop API
(Nov 25 '08) org-openide-nodes: Adding ChildFactory.Detachable to allow ChildFactory implementations to attach and detach listeners more easily
(Nov 24 '08) org-netbeans-modules-java-source: Migrated to the parsing.api
(Nov 20 '08) org-netbeans-modules-extexecution: Published as a stable API
(Nov 20 '08) org-netbeans-modules-projectuiapi: Add annotation @NodeFactory.Registration
(Nov 18 '08) org-openide-filesystems: Added new elements to MIME resolver DTD
(Nov 13 '08) org-netbeans-modules-projectapi: Add annotation @LookupProvider.Registration
(Nov 1 '08) org-openide-filesystems: Support for annotation processors generating XML layer fragments
(Nov 1 '08) org-openide-util:
Added
ServiceProvider annotation
(Oct 30 '08) org-openide-loaders: Faster Filtering based on FileObjects
(Oct 23 '08) org-netbeans-modules-projectuiapi: Pluggable Repeat/Stop build actions
|
Interface Name |
Proposed Stability Classification |
Specified in What Document? |
Changes since NetBeans 6.5 |
|
NetBeans APIs on Java level |
Uncommited |
API is specified in http://bits.netbeans.org/dev/javadoc/index.html |
see comprehensive list of changes above, the changes are listed also online at http://bits.netbeans.org/dev/javadoc/apichanges.html and this page will be moved to permanent URL at FCS to http://bits.netbeans.org/6.7/javadoc/apichanges.html |
|
File Layout |
Uncommited |
changes reflecting the Java modules and 3rd party libraries added and removed since 6.5 |
|
|
GUI |
Uncommited |
|
changes reflecting UI of the implemented features and bug fixes |
|
IPS packages for OpenSolaris |
Stable |
|
produced the same way as 6.5 IPS packages, no change planned |
Changes to imported interfaces:
|
Interface Name |
Proposed Stability Classification |
Specified in What Document? |
Changes since NetBeans 6.5 |
|
Derby 10.2.2.0 |
External |
|
Newly added for C/C++ area |
|
H2 1.0.79 |
External |
|
Newly added for C/C++ area |
|
Apache Struts 1.3.8 |
External |
|
Upgraded from 1.2.9 |
|
Mylyn Commons library 3.1.1 |
External |
|
|
|
Mylyn Commons Network library 3.1.1 |
External |
|
Newly added for Kenai integration |
|
Mylyn Tasks Core library 3.1.1 |
External |
|
Newly added for Kenai integration |
|
Bugzilla Connector 3.1.1 |
External |
|
Newly added for Kenai integration |
|
Apache Maven 2.1-20080623-patched |
External |
|
Newly added for Maven Support |
|
Maven Dependency Tree 1.2 |
External |
|
Newly added for Maven Support |
|
Sonatype Nexus Indexer 1.2.2 |
External |
|
Newly added for Maven Support |
|
SVNClientAdapter Library 1.6.0 |
External |
|
Upgraded from 1.4.0 |
|
Java Native Access 3.0.9 |
External |
|
Upgraded from 3.0.2 |
|
JSch 0.1.41 |
Commited |
|
Upgraded from 0.1.39 |
|
Ini4J 0.4.1 |
External |
|
Upgraded from 0.2.6 |
|
Smack API 3.1 |
External |
|
Newly added for Kenai integration |
|
SwingX 0.9.5 |
External |
|
Newly added for Kenai integration |
|
Apache Jakarta Commons Lang 2.3 |
External |
|
Newly added for Kenai integration |
|
Commons Codec 1.3 |
External |
|
Newly added for Kenai integration |
|
Commons HTTP Client 3.1 |
External |
|
Newly added for Kenai integration |
|
JMUnit 1.2.1 |
External |
|
Upgraded from 1.1.0 |
|
JRuby 1.2.0 |
External |
|
Upgraded from 1.1.4 |
|
JRuby Parser 0.1 |
External |
|
Newly added for Ruby area |
|
FireBug Service 1.2.1 |
External |
|
Upgraded from 1.2.0 |
|
Javascript libraries (dojo-1.1.1, jquery-1.2.6, prototype-1.6.0.2, scriptaculous-js-1.8.1, yui-2.5.2) |
External (dependency removed) |
|
Removed from the product |
|
Kenai WS API |
Committed |
|
Newly added for Kenai integration |
The User interface is based on Swing.
The modules use XML persistence of settings, provided by the NetBeans Platform. DTDs are used to identify the type of XML file. Used XML files conform to the XML 1.0 specification as published by the W3C.
As a Java-based application, the IDE Support modules run on any J2SE-enabled system supporting at least version 5.0.
The hardware requirements are similar for all platforms, but it may differ slightly for some cases. Tested platform configurations are listed at http://wiki.netbeans.org/NB67TestedPlatformAndRuntimes
See the list of products at http://wiki.netbeans.org/NB67TestedPlatformAndRuntimes
NetBeans allows other organizations to write modules and plug them into the tool.
NetBeans interoperates with several web and application servers, with database servers, versioning systems and other 3rd party software. List of the external products can be found at http://wiki.netbeans.org/NB67TestedPlatformAndRuntimes
Any number of copies of the application can be installed and used in parallel. Also, NetBeans can be installed in parallel with shipping versions of Sun Java Studio Enterprise and Sun Java Studio Creator. However, the user may run into issues with conflicting port numbers. This has to be worked around by manually setting different port numbers for the individual copies of the application, which can mostly be done through the user interface.
Multiple running instances of the IDE must use different user directory; this is ensured by the platform. See the previous section for the reservation regarding port conflicts.
As NetBeans creates persistent settings and user projects on the disk, settings and projects from previous versions may need to be converted to the format used by the newer release, if it differs. This is provided (and tested) for several previous releases, i.e. NetBeans 5.5, 5.5.1, 6.0, 6.1, 6.5 and 6.5.1. After conversion to the format supported by the newer release, it may not be possible to use these settings and projects in a previous version of NetBeans.
Performance goals of NetBeans 6.7 release are listed at http://wiki.netbeans.org/NB67PerfImprovements with a plan document at http://wiki.netbeans.org/NB67PerfPlan
The start-up time, UI responsiveness and memory footprint are measured regularly by automatic tests. Regressions are detected using these tests.
The only limits are in size of data processed -- e.g. size of file opened or number of files searched.
None
CND in 6.5: The C/C++ remote development feature queries for a password for each remote connection. We use a Java implementation of SSH2 called JSch (see http://www.jcraft.com/jsch for details about JSch). No unencrypted passwords or data is sent over the link. However, passwords are stored in memory for the lifetime of the IDE session. In addition, users can choose to store the encrypted passwords in the userdir in a java.util.prefs.Preferences database. We notify the user that this password storing is not secure.
CND in 6.7: In case dtrace is used as a source of profiling data and process has not enough privileges to execute d-script we are asking for the root (superuser) password. We never store this password on disk nor in memory (it is safely erased after the usage). We pass this password IN PLAIN FORMAT to native executable's standard input stream. Before passing this password we check for CRC32 check sum of the binary (not to pass this password to a foreign code). Password is cleared right after usage in the native code as well. Potentially, it is possible to grub the super-user password, but privileges to trace the user's processes are required for this.
Kenai in 6.7: IDE asks the user for username and password to authenticate them on Kenai.com. The username/password is sent via HTTPS POST, i.e. encrypted. During the IDE session the password is stored in memory. In addition, the user can choose to store the encrypted password in the userdir in a java.util.prefs.Preferences database.
Modules' API packages are named with the prefixes
org.netbeans.api. and/or org.netbeans.spi.
according to domain and client/provider distinction. Module
implementations use prefix org.netbeans.modules.
All modules have code names similar to Java package names, and limit themselves to package names matching the DNS address of the responsible organization, according to the standard Java convention.
None.
All date manipulation are done by java.util.Date or
using long variables, thus it is Year 2000 compliant.
The NetBeans 6.7 modules seem to be Level 4-compliant as applications based on it have been successfully ported to Japanese, Chinese, Russian and Brazilian Portuguese languages and locales. All text strings must be loaded from properties files; many images, all placements of such things as menu items, and many other things are customizable according to locale. All language and locale customizations can be added to a NetBeans-based application by adding new files, never modifying existing ones, and choice of language and locale is available as a simple startup-time switch (with a default according to the J2SE). All user text entry should support Unicode where that makes sense.
The requests and responses between JavaScript Debugger/Http Client Monitor and browser extension are in UTF-8 format. Hence JavaScript Debugger and Http Client Monitor are able to deal with different languages and locales
While NetBeans 6.7 itself runs and is tested on 64 bit platforms, not all versions of Sun Application Server run on 64 bit platforms. Thus, the corresponding features in NetBeans (notably deployment to such versions of Sun Appserver) are limited to 32 bit platforms.
JavaScript Debugger support for Internet Explorer relies on native extension which is for now only 32-bit binary. It will be necessary to port the extension to 64 bit in order to support 64-bit Internet Explorer.
Requires the availability of J2SE 5.0 or higher on the target platform. Also requires the availability of products we depend on (e.g. Sun Application Server) on the target platform.
Full accessibility is the goal for NetBeans and is achieved.
There is a live document that is created at build time that contains the list of ALL the files for a NetBeans distribution. Each NetBeans cluster is a top directory.
Packages are being produced for each Ubuntu Linux release. NetBeans packages are made available in the Universe repository of Ubuntu, satisfying its rules, mainly unbundling 3rd party libraries and depending on their separate packages. Only a certain subset of NetBeans functionality is delivered this way, the rest of fuctionality is available to the user online via Update Center.
Packages are produced in IPS format for OpenSolaris.
The install roots for the relative layout are:
Linux: /opt/sun/netbeans
Solaris: /opt/netbeans/
Windows: c:/Program Files/NetBeans/
FireFox browser extension is copied to the folder <profile_folder>/extensions/netbeans-firefox-extension@netbeans.org, where netbeans-firefox-extension@netbeans.org is the unique extension id for our extension and <profile_folder> is the default profile folder. The default profile folder is found on a user system based on the document http://kb.mozillazine.org/Profile_folder_-_Firefox
None.
Binary installers are created for NetBeans IDE and available for all supported platforms. Also native packages are available for Ubuntu Linux.
When a JavaScript Debugger session for FireFox is initiated by the user, FireBug 1.2.1 and the NetBeans FireFox extensions are installed if they are not present on the user system.
When a JavaScript Debugger session for Internet Explorer is initiated by the user, if Machine Debug Manager and Process Debug Manager components are not present on the user system, they will be prompted to install the Microsoft Script Debugger. Once those components are confirmed to be present, NetBeans Internet Explorer extension will be registered into Windows systems registry only if it is not done already.
None.
None.
Distributed for free under dual-license (CDDL and GLPv2 with ClassPath Exception). It contains binary components licensed under different licenses.
Upgrade mechanism provided by AutoUpdate functionality.
Remove native packages, run uninstaller for the NetBeans 6.7 product.
There is no command line access to configure the system; everything has to be done via the GUI.
Components are called modules in the NetBeans terminology. The set of modules changes routinely from release to release.
The following are the main standards supported by the tool:
Java EE 5 platform and all specifications and standards required by this platform
J2EE 1.4 platform and all specifications and standards required by this platform
Debugging Support for Other Languages (JSR 45)
Standards in the HTML and XML areas defined by W3C
SQL (exact dialect and version depends on target database)
SSH2
JAXRS (JSR 311)
JavaScript 1.7
Sun Java Application Server 8.1 PE
Sun Java Application Server 8.2 PE
Sun Java Application Server 9.0 PE
Sun Java Application Server 9.1 and 9.1ur1
GlassFish v3 Prelude
GlassFish v2.1 (Sun GlassFish Enterprise Server v2.1
NetBeans 6.7 published APIs javadocs http://bits.netbeans.org/dev/javadoc/index.html