Topics of post-6.0 work in Core & Platform areas in NetBeans
see CorePlatformAndProjectsPlan67 for more recent followup
Open unscheduled topics
Projects
- recognize that a user is using NetBeans only for profiling his project (e.g an Eclipse project) and suggest importing the project into NetBeans (-> jsedlacek)
- Packaging a project output into an OSGi bundle - OSGi is becoming more widespread, and for example, GlassFish v3 can be extended through OSGi bundles.
- improvements in project import and more precise autoconfiguration of freeform based on analysis of the build script
(AutomaticProjects) (#135157)
- utilizing Maven repositories and index to resolve 3rd party library problems. Using Maven remote repositories for creating NetBeans library definitions.
(MavenIndexingOnePager) (#134677)
- merge "from Scratch" and "with Existing Sources" project wizards
(#123430)
- improve UI for resolving broken references
(#123464)
- performance improvements
- If you change a single file (particularly in a platform application), then running the application invokes a lot of ant targets and takes a long, long time. Perhaps this could be improved somehow to eliminate any unnecessary steps.
- elimination of copy&pasted code in the many existing project types
- possibility to do optimizations in one place
- write once & use in all project types for certain features (e.g. includes/excludes)
- different levels of reuse, something applies to ant projects only, something is more general
ProjectTypeMusings
OSProjectsEvaluation
Maven Support
- extending the support to better cover advanced usecases
(any VOC about this? how many users who would profit from this potentially?)
- profiling, debugging, deployment for web and j2ee projects
- make webframeworks work (visual web)
- dependency graphing and analysis (also useful for Ivy support)
- catch up on project configuration capabilities (customizer panels etc) to make it comparable to ant projects.
Window System
Table of Core UI work post 6.0
Platform
- fix appearance of NetBeans on Mac OS X look and feel (#132291)
- TC persistency changes - PERSIST_LAYOUT option + adoption of Preferences API
- merge various Output and Result windows (#123429) - requested by xDesign, agreed as nice to have only
- common status line (#123344) - requested by xDesign, old window system relic, we're likely the only IDE that takes up space with the status line that's dedicated to editor
- style text in editor tabs
(#47290)
- tasklist API enhancement for triggering actions
- possibility for real embedded web browser - could be WebKit which will be included in JDK 6u10 - evaluation was done; because WebKit will not be available via public API in JDK 6u10 using WebKit in NetBeans is postponed
- module system changes - compatibility with JSR 277
(what is the right moment to start working on this?)
- incorporate 3rd party libraries without library wrapper modules - use Maven for 3rd-party libraries, either in apisupport or directly in module system
- related to JSR 277 as Stanley Ho reported that he has a bridge between JSR 277 APIs and Maven
- ???!
- Print APIs and Preview - adopting what has been suggested by entpack team
but was not suitable for acceptance in platform in the form suggested
- multiview redesign to serve the reqs accumulated
- palette improvements - preview instead of icon
- Wizard API is waiting for redesign for long time
- Impl of IZ 55627: Double clicking the project template should move to next step
- actions support module - get rid of another SharedClassObject subclass - e.g. give people a chance to easy write their actions without the need to subclass NodeAction, CookieAction or co.
- running platform on top of Consumer JRE
- running platform as an applet?
(hard security issues -jglick)
- API for reading Proxy Settings, writing only via Options (friend API for writing Proxy Settings)
- #140164 Turn off/on search highlighting in Javahelp content viewer. We will need to contribute this to Javahelp to implement this. Issue refers to Eclipse where this feature is available.
- review UI of JavaHelp viewer and possibly make it more "modern"?
APIsupport
- chaining of suites (a way of reusing modules for more apps - #83088, #114389, #125522, #134760)
- (hard without rewrite of apisupport -jglick)
- many more wizards
- Geertjan has wizard for "enhanced file type" - with multiview, with visual library, etc.
- tasklist wizard
- CLI option wizard
- (bad priority, we have far better things to do -jglick)
- More GUI support for working with window system: defining new modes, editing .wstcref and .settings files
- support in build harness for building setup packages (preferably with a bundled JRE), just as you can build ZIP distributions now. see Tonny Kohar's blog for an example, but maybe OpenInstaller is an option too.
- create API to allow other people to write their own wizards (maybe with FreeMarker)
- make explorer views more matisse friendly - e.g. create their own category in component palette, add setExplorerManager/getExplorerManager to views.
- rewrite layer nodes (see IZ #72541)
Autoupdate
- Download NBMs/Offline mode (OfflineMode) without installing them
- leveraging Plugin Portal - tighter communication between users and developers of plugins
from within the IDE (commenting and rating plugins, viewing stats about the plugins - #downloads)
- reading additional data from PP (#downloads, ratings, comments) - showing them, allowing searching and sorting
- allowing user to write data to PP (ratings, comments) - could be delegated to a web page on PP
- logging of changes done through autoupdate - for the user's view, or for sending to support/attaching to issue
- displaying more advanced information about plugins - dependencies, installation directory,...
- support for language packs?
(current implementation with dummy modules seems to be enough even for community contributed
localizations, so the support for real language packs may be unnecessary)
(makes sense only if we want to put more emphasis on sustaining older !NetBeans releases) -- well, supporting older releases is important for platform applications.
Gesture Collector
- task-focused UI (what is it all about actually? and how big change this would be?)
- mkleint: can turn quite big, needs integration with issue tracking systems, complex manipulations with user's IDE desktop.
- tips and context sensitive help based on user's workflow
Collaboration
- simplification and stability - rewrite some parts of collaboration support (filesharing)
- employing the collaboration support (chat, filesharing, ...?)
in a much bigger team collaboration feature (TBD, cross-team effort)
- Continuous integration server integration, also touches projects area.
Topics completed in 6.5
General
Ant Projects
Maven Projects
- remote repository browsing, querying, management, bootstrapping version control checkout.
Platform
- explorer+nodes performance improvements (#121913) (FitnessViaLaziness)
- UNC paths usage - in filesystems and also in the rest of the product (#46813)
- treetable view redesign (33281)
- Options (#109538) - API+impl for opening Options dialog with preselected subcategories, e.g. panels in Miscellaneous
- finish killing advanced options (#105589, #133773)
- support for informational error messages in wizards (#137737)
Autoupdate
- Expand uniqueID by one additional unique number unrelated to userdir (#137113)
- slightly changed behavior of balloon-like tooltip (#125119)
Window System
- changed default layout of windows (UI Spec)
- fix bugs on Nimbus L&F (#120656)
- modify sliding windows to support original window sizes (#135318)
- (partially) add new API for configuring existing visual aspects of window system - enable/disable DnD, floating windows, JFrames x jDialogs, tab layouts, sliding windows on/off, fixed layout. (#134670 )
Various UI issues
- Tasklist - visual finetuning of the window (#138189)
- Quick Search (#134398 ), UI and Func spec
- explain icon badges in tooltips(#123469)
- allow drag and drop of text selected in editor window into the common palette to create new code clips (#93002)
Topics completed in 6.1
Projects
Platform
- filesystem simplifications
- getting rid of the old support for VCS Generic by peeling the upper delegating filesystem, locking for bulk operations, a few handy methods (#123542)
- speeding up file locking mechanism (#106128)
Autoupdate
- Plugin Manager non-modal dialog box
- downloading plugins on background (#98870)
- wizard for automatic resolving of broken dependencies - Missing Modules Resolver available on Beta UC of 6.1
- semitransparent lightweight popup window which indicates that some updates of plugins are available. (#122751)
- stabilize APIs/SPIs (#19930)
- Allow setting AU check interval programmatically
IDE