File Types UI Specification

Author: Ondrej Langr, xDesign Team

Table of Contents

Problem Description

This UI specification describes how to deal with non-standard file types in NetBeans IDE and how users can choose how these files will be opened. Previously, these settings were available from the advanced option dialog as File Types and Object Types panels.

screenshot of previous state

However, there is a need for certain functionality described below in the Use Cases section and with removal of advanced options, this need has to be covered by a UI.

The implementation of this UI specification will be done as part of Fitness Against Forgetfulness efforts. Current state can be tracked in issue #91665.


Additionally, with removal of the Advanced Options dialog, there is a need for placement of Ignored Files option. This panel suits this need well, so this proposal also suggests the appearance of this option.

Use Cases and Scenarios

Opening a new type of file not known by the IDE

User is opening file with unusual extension. The goal is to set a group of files so that they are always opened in particular editor. Assumption is that this group of files can be identified by extension. Any wildcard pattern has also been considered but this idea has been abandoned.

Changing the way particular group of files should be treated

This is assumed to be not very frequent use-case. It covers a situation in which user wants to change the way particular group of files is treated. This can mean changing the default behavior of the IDE or changing of what user has set in the previous use-case.

Competitive Study

Eclipse is using two separate option panels, one for mime type to file extension mapping (content type panel) and the other for extension to editor mapping. Also, Open with... command from contextual menu can be used on each file to open it in an editor which is not configured for particular file type.

Idea is using object type to multiple file extensions mapping, but does not seem to allow change the editor each type is opened with.

From the usability standpoint, the solution currently used in NetBeans IDE is by far the worst of these three products.


Changes to File Contextual Menu

There is no change to the way files known by the IDE are opened. Nether, there there is a change to their contextual menu. How ever, when user attempts to open a file type of which is not known by the IDE, following dialog appears:

contextual file menu  ---->   

After that, given extension is automatically associated with given type of file and opened as such in the future.

Option Dialogue


initial appearance of the panel before any user's action:

before users' action

appearance after user selects an extension from the dropdown:

after selecting a file extension

This dialog suggests appearance of the pane after a filetype has been created or selected from the dropdown. By changing the value of Associated File Type (MIME) dropdown, the content of Open With label is changing to reflect the editors associated with given MIME type.

The Default button would be enabled for file types and associations which are part of NetBeans default settings and were tampered with. It's function is to restore default setting for given file pattern after user has messed up with it and it doesn't work as supposed to ;).

The New... dialog for creating a new file pattern:

new dialog

File Properties

Since association of a file with a MIME type can be seen as a file property (being used to operating system behavior can play a role here), it should be available from the file properties dialog, too. Clicking the "..." button should open the option dialog at given page, with the matching file dpattern selected.

File Properties Dialog

Open Issues & Notes

Project Features

About this Project

ui was started in November 2009, is owned by Jiří Kovalský, and has 44 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
Please Confirm