This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 56309 - Open Recent Projects list should ignore projects opened due to Open Required Projects checkbox
Summary: Open Recent Projects list should ignore projects opened due to Open Required ...
Status: RESOLVED WONTFIX
Alias: None
Product: projects
Classification: Unclassified
Component: Generic Projects UI (show other bugs)
Version: 4.x
Hardware: All All
: P3 blocker (vote)
Assignee: Tomas Stupka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-12 06:34 UTC by _ sandipchitale
Modified: 2016-07-07 08:39 UTC (History)
3 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ sandipchitale 2005-03-12 06:34:59 UTC
Open Recent Projects list should ignore projects opened due to Open Required 
Projects checkbox. It should only consider projects explicitly opened by the 
user.
Comment 1 Jesse Glick 2005-04-06 20:13:39 UTC
Perhaps so.
Comment 2 _ sandipchitale 2005-04-07 16:10:53 UTC
The resoning is as follows:

The "Open Recent Project" is by definition a shortcut mechanism to for the 
user to quickly get to the projects the user worked on. Usually this list is 
not allowed to be long (from 4 to 9 entries in many applications so that it 
can be bound to single stroke accelerators/mnemonics(?) like Alt-1 to Alt-9). 
Eclipse allows any number though, as it does not bind these entries to any 
accelerators/mnemonics. Anyhow when a recently opened project depends on a 
large number of projects, the "Open Recent Project" is filled by entries that 
are and can be computed by the system thus wasting the precious and short Open 
Recent Project count. Secondly the dependency list may even change(shorten or 
lengthen) when the project was saved. So opening  some of those projects may 
be wasteful.

My 2 cents. It is my hope these kinds of small improvements throughout 
NetBeans will give that nice feel to it.
Comment 3 Jesse Glick 2005-04-07 16:28:55 UTC
Anyway I would just make this list longer. It is currently set to 10, which I
find artificially short. Any display should be able to accommodate a submenu
with at least 20 items, I guess.
Comment 4 jrojcek 2005-04-08 14:16:56 UTC
Re. Ignoring required projects.
I don't think it is the right thing to do. All open projects should be available in the menu. Whether it was 
open directly or through the required project check box (or contextual menu item "Open Required 
Projects") isn't important when the user wants to open project he/she just closed. It should be in the 
recent menu.

Re. Making the list longer.
I agree. It makes sense to make it 20 (or even more).

Btw, when playing with the recent menu, I noticed that it behaves quite nonstandard. I was quite 
surprised that if the project was open from the recent menu, it disappeared from the menu. Other 
recent menus in other programs put recently *open* project on top of the list (which means it stays in 
the list even if it is open). To me this behavior seems better than the one we have now.
Comment 5 Jesse Glick 2005-04-08 22:42:22 UTC
Why would you want a project listed that you already have open? You can't open
it twice. That doesn't make sense to me.
Comment 6 _ sandipchitale 2005-04-09 00:55:58 UTC
Re. Your reply to Ignoring required projects.

I think you are describing the implementation.

You never gave a reason for why "I don't think it is the right thing to do".

I am going to try one more time. Because the system can compute the dependent 
projects they could be opened as a side effect of opening the project the user 
opened explicitly. That is why they should not be included in the list.

Making the menu, even though a quick solution, will not be accepted by HIE 
folks. Please run this by HIE.

I think I have said enough on this.
Comment 7 jrojcek 2005-04-28 11:16:06 UTC
To sandipchitale:
My comment was given purely from the user point of view. I don't have a clue about the underlying 
implementation. The point was that all items should be shown in the recent menu. It is very hard to 
guess whether the user is really interested or isn't really interested in a project he opened as required 
project and then closed. If we don't show up required projects in the recent menu we most likely have 
to open required projects together with the project shown in the recent menu. Or we have to ask the 
user after opening a recent project.

OTOH, I agree with the following Jeff Hoffman's comment about priority of explicitly opened projects 
versus required projects. We need to think about the exact behavior though.

---
I believe that you should reconsider your approach of simply adding more items to the Open Recent 
Project list.   It seems that this feature adds projects to the list when they are closed instead of when 
they are opened or created.  This is probably OK, but I would argue that we need to prioritize which 
projects are shown in the Recent Projects list.

I think that a higher priority should be given to projects that the user has explicitly opened (or created), 
over projects that were opened as dependents of the project or that the user has recently closed.  The 
reasoning is that if I opened a project (or created a new project) I have some definite interest in it, and 
it is likely that I will open it again.  If the criteria is just when I close a project, there is no way for the 
IDE to know whether I closed it because I never want to see it again, or whether I will open it again 
soon. 
If I am working on a large project, it is possible that opening a single project may also open many other 
dependent projects.  Adding all of those projects to the Recent Project list seems excessive.  I would 
say that if you give higher priority to projects that the user explicitly opened or created, the list will be 
sorted by the ones that are most important to the user, and if there is space in the list, then you will 
see some of the dependent projects.  It also seems reasonable to allow the user to specify the number 
of items in the recent project list.  This is done in competitive products (for example, on the Options > 
Environment -> General page so that it is quite visible).
---
Comment 8 _ sandipchitale 2005-04-28 17:33:28 UTC
Having never seen a notion of priorities applied in the area of Most Recently 
Used/Opened list in any application that line of thinking did not come to my 
mind.

Also, I was thinking of some analogy and one came to my mind (event though it 
may not be exact analogy) and that is of frames in a browser. When a web page 
containing frames is opened in a browser only the main page's url is put on 
the visible history stack.  The frames do contain pages which can be opened by 
themselves as a top level pages but the frame URLs are not put on the history 
stack. They are put on the history stack only if the user opens a frames page 
as a top level page (say - using the "Open in new window" menu item (which is 
an explicit open action). The JDK javadoc with and without frames is an 
example of the above.

http://java.sun.com/j2se/1.4.2/docs/api/index.html
http://java.sun.com/j2se/1.4.2/docs/api/overview-summary.html

Play with these and observe the browser history (I have tried this in IE6.0 
only).

I guess some of this discussion may depend on the exact meaning of dependent 
projects in NetBeasn. Is it more like a containment or reference dependency?

I still feel that by the principle of locality it is most likely that I will 
want to open a project that I (explicitly) opened in the last session with 
NetBeans IDE.

Having said all that, I will be happy with the compromise if some kind of 
distinction is made in explicilty and implicitly opened projects. However I 
think it is an overkill for this simple issue.

My 2 cents.
Comment 9 Jesse Glick 2005-04-28 18:51:46 UTC
"I guess some of this discussion may depend on the exact meaning of dependent 
projects in NetBeasn. Is it more like a containment or reference dependency?" -
actually it is left up to the project type to decide what meaning to assign to
"required project"; no semantics are required (except that cycles are
prohibited), and only the Open Required Projects action and the Open Project
dialog are currently affected. For j2seproject's, it is just another project you
have in your classpath. For EJB-JAR, WAR, and EAR projects (and in the future
JNLP), it is more like physical containment. For NBM projects, it corresponds to
module dependencies (which are also related to the classpath). For Maven
projects, it could mean various things I guess, depending on which Maven
plug-ins you are using.
Comment 10 _ sandipchitale 2005-10-21 17:38:24 UTC
It was suggested to make the MRU list longer.

Here is what Java Look and Feel guidelines says about that:

If a File menu has a Most Recently Used list, ensure that the list displays no 
more than 10 objects. 

See: http://java.sun.com/products/jlf/at/book/Menus4.html#49870

Anyhow that recommendation of "no more that 10" is there because fo this "If 
your application has an MRU list, assign mnemonics to the MRU numbers in the 
list" i.e. 0 - 9.

Anyhow I personally do not want the limit on the number but want "Open Recent 
Projects list should ignore projects opened due to Open Required 
Projects checkbox."
Comment 11 Max Sauer 2006-06-26 16:35:45 UTC
It would be nice to have explicitely opened project prioritized in the list, as
suggested above.
Comment 12 _ sandipchitale 2006-06-26 17:13:03 UTC
Yeah...something like:

Open Recent Project > Explicitly Opened Project 1
                      Explicitly Opened Project 2
                      Explicitly Opened Project 3
                      Explicitly Opened Project 4
                      Explicitly Opened Project 5
                      ---------------------------
                      Dependent Project 1 (Opened by side effect)
                      Dependent Project 2 (Opened by side effect)

The projects opened by side effect could be shown in a sub menu.

Comment 13 Martin Balin 2016-07-07 08:39:36 UTC
This old bug may not be relevant anymore. If you can still reproduce it in 8.2 development builds please reopen this issue.

Thanks for your cooperation,
NetBeans IDE 8.2 Release Boss