]> &api-questions;

The API allows NetBeans add-on modules and packs to add their own links into Getting Started section in the new Welcome Page layout. There's a new folder in the XML layer WelcomePage/GettingStartedLinks where NetBeans modules can add folders and files to be displayed in the Getting Started section.
Files in the folder mentioned above must have a coresponding DataObject with OpenCookie support to be displayed as a link in the Getting Started section. (for example .url files) All such files should have SystemFileSystem.localizingBundle attribute set as appropriate to be used as link's display name. Files without OpenCookie are ignored.
Sub-folders are interpreted as link categories and should have SystemFileSystem.localizingBundle attribute set for their display names. Because of UI restrictions only the immediate sub-folders of WelcomePage/GettingStartedLinks folder are scanned for link files and processed.
So NetBeans modules can leverage all features of XML layer system (i.e. shadow files, file ordering etc) to add their own links to the Getting Started section or to replace existing content.

The API relies on XML layer system which has its own set of unit tests.

The API is already implemented.

When a module or add-on pack wants to add its own links to the Getting Started section of the Welcome Page it needs to follow these steps:

The updated Welcome Page replaces the old static content with RSS feeds that can provide more useful information about new tutorials, articles and other news for NetBeans users.

There was no API in the previous version of the Welcome Screen.

All labels and messages come from resource bundles that are easy to internationalize.

No standards defined nor implemented.

The only settings for Welcome Page is an option to show / hide the Welcome Page at IDe startup time. The option is based on org.openide.options.SystemOption so it's future compatible as well as ignorable.

No special requirements for JRE.

JRE is enough.

None

No special dependencies

nothing

Just one module JAR file.

Yes

No packages declared public

Installation location does not matter.

No

No

XXX no answer for exec-component text anti-aliasing - swing.aatext ??

No

No

No

XXX swing.aatext to turn text anti-aliasing on or off???

Class org.netbeans.modules.welcome.content.HttpProxySettings tries to use reflection to access class org.netbeans.core.IDESettings to set proxy settings.

There are two background threads scheduled (RequestProcessor.post) to wake every hour to reload feed section content. The threads are not active when the Welcome Page is not visible. All other execution happens in the AWT thread.

No clipboard

No drag and drop

None

No

No

No

No

No

No

XXX no answer for perf-mem

No

No long running tasks. There are two background threads that load the feed content from internet. However they're not expected to take too much time.

Doesn't apply

No plug-ins

It starts two background threads to load the content of two RSS feeds.

When the Welcome Page is displayed and visible there's a background thread that reloads the content of RSS feeds every hour.

No

Yes, it creates folder WelcomePage/GettingStartedLinks where it looks for Getting Started links and categories. The links must support OpenCookie to appear in the Getting Started section. Because of UI constraints only the immediate sub-folders of GettingStartedLinks folder will appear as link caregories in the Welcome Page.
Other modules can add their own links and/or categories to that folder.

No

It reads the content of the Getting Started section from xml layers - links and link categories.

No

No