Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#547 closed (fixed)

Select Project list too long

Reported by: Gregory Vincic Owned by: olle
Milestone: Proteios SE 2.14.0 Keywords:
Cc:

Description (last modified by Gregory Vincic)

All accessible projects are available in the File->Select Project list which generates a very long list. That list must be constraind to a fixed number of projects and possibly add a "Other projects..." option at the end which links to My Projects view.

Change History (10)

comment:1 Changed 12 years ago by Gregory Vincic

Description: modified (diff)
Milestone: Proteios SE Future ReleaseProteios SE 2.14.0
Owner: changed from Gregory Vincic to olle

comment:2 Changed 12 years ago by olle

Status: newassigned

Ticket accepted.

comment:3 Changed 12 years ago by olle

Traceability note:

  • The "Select Project" hierarchical menu in the "File" menu was introduced in Ticket #442 (Menu changes related to Project navigation).
  • The "Select Project" menu listing was updated to hide closed projects in Ticket #587 (Close projects).

comment:4 Changed 12 years ago by olle

Design note.

  • The "Select Project" hierarchical menu in the "File" menu is managed by class/file gui/MainMenu.java in client/servlet/. The menu is created by private method Node createSelectProjectNode().

comment:5 Changed 12 years ago by olle

Design discussion:

  • The "Select Project" menu in the BASE project already has a fixed limit for the number of project items displayed (currently 20 items). If more projects exist, the menu is extended with a separator and a menu item reporting the number of items not available in the menu, e.g. "6 more" if 6 more projects exist, where clicking on the menu item redirects the user to a page where any of the projects available to the user can be selected.

The initial design of the limited number of items in the "Select Project" menu in Proteios SE will be modeled after the functionality of the corresponding menu in BASE. However, an addition will be made to ensure that an active project is always included among the displayed project items:

  • The Proteios SE "Select Project" menu will be updated to display at most a fixed number of project items, initially set to 20 items.
  • If not all projects can be displayed in the menu, at the end of the menu will be added a separator and a menu item reporting the number of items not available in the menu, e.g. "6 more" if 6 more projects exist, where clicking on the menu item redirects the user to a page where any of the projects available to the user can be selected.
  • If an active project exists, it should always be included in the menu. If not all projects can be displayed in the menu, and the active project is not among those displayed by default, the last item of the original project list will omitted, and replaced by the active project item. (This functionality is currently not in the BASE project menu.)
  • If not all projects can be displayed in the menu, an ellipsis "..." item will be added to further indicated that the project list is incomplete. If no project is active, or the active project is among the displayed ones, the ellipsis "..." item will be added after the last displayed project item. If the active project is not among those displayed by default, the ellipsis "..." item will be inserted between the last of the project items displayed by default and the added active project item. (This functionality is currently not in the BASE project menu.)

comment:6 Changed 12 years ago by olle

Technical notes regarding the ellipsis "..." menu item:

  • The ellipsis "..." menu item will be generated by adding the corresponding HTML code "…" in the dictionary file for the key "EllipsisMenuItem".

It is desirable that the ellipsis item should be displayed analogous to a project item, since it represents an omission in the project list. It is also desirable that the ellipsis should be easy to recognize.

  • Creating the ellipsis menu node as a simple node with label, but no action link, will result in a menu item that is left-justified, and therefore lies in the part that is reserved for the bullet icon marking the active project (this is a side effect of class GUIConverter only reserving space for a bullet icon for nodes with an action link).
  • Creating the ellipsis menu node with a disabled action link, leads to a menu item that is aligned with the projects items, but that is dimmed due to the action link being disabled. This makes the ellipsis very hard to see, since it only consists of three dots.
  • Creating the ellipsis menu node with an active action link, leads to menu item that is aligned with the projects items, and is easy to recognize. However, if the user accidentally selects the ellipsis menu item, the action corresponding to the action link will be executed, which is not desirable.

In order to solve this problem, a new dummy action will be added, that returns directly; activating it will therefore not change the user's web page.

  • The ellipsis menu node will be created with an action link to a dummy action, that returns directly. This will result in a menu item that is aligned with the projects items, and easy to recognize. If the user accidentally selects the ellipsis menu item, the web page will not change.

comment:7 Changed 12 years ago by olle

(In [3933]) Refs #547. Refs #287. First version of limited number of items in the "Select Project" menu in Proteios SE:

  1. New class/file action/DummyAction.java in client/servlet/ added.

It does nothing, and returns directly. It is Intended to be used for action links in menus, where one wants a menu item with a comment but no action, but does not want the action link to be disabled, as this would make the entry to be dimmed, and hard to read.

  1. Class/file gui/MainMenu.java in client/servlet/ updated:
  2. New private constant final int MAX_NUM_PROJECT_ITEMS added.

Its value is set to 20.

  1. Private method Node createSelectProjectNode() updated to limit

the number of displayed project items to the set limit. If the number of projects is larger, the list will be truncated, and an ellipsis item, a separator, and a new "more projects" item added. However, if the active project is not among the projects listed by default, it will be inserted after the ellipsis item and the separator, while the last project item is the default list will be omitted. The "more projects" item will display the number of projects not listed, e.g. "6 more" if 6 more projects exist. Clicking on the "more projects" menu will redirect the user to a listing of all available projects.

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new entries for various string keys.

comment:8 Changed 12 years ago by olle

General information:

The "Select Project" menu in the BASE project was updated shortly after corresponding menu in Proteios SE was updated. Among other changes, the former now includes a section with most recently used projects.

comment:9 Changed 12 years ago by olle

Resolution: fixed
Status: assignedclosed

The ticket is closed, as the desired functionality has been added. Should problems with the current solution appear, this ticket may be reopened, or a new ticket created.

comment:10 Changed 12 years ago by Gregory Vincic

(In [3981]) Refs #547. Fixed problem with long response times by setting MaxResults? on the query for projects.

Note: See TracTickets for help on using tickets.