Ticket #547 (closed: fixed)

Opened 3 years ago

Last modified 15 months ago

Select Project list too long

Reported by: gregory Owned by: olle
Milestone: Proteios SE 2.14.0 Keywords:
Cc:

Description (last modified by gregory) (diff)

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

comment:1 Changed 16 months ago by gregory

  • Owner changed from gregory to olle
  • Description modified (diff)
  • Milestone changed from Proteios SE Future Release to Proteios SE 2.14.0

comment:2 Changed 16 months ago by olle

  • Status changed from new to assigned

Ticket accepted.

comment:3 Changed 16 months 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 16 months 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 15 months 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 15 months 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 15 months 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 15 months 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 15 months ago by olle

  • Status changed from assigned to closed
  • Resolution set to fixed

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 15 months ago by gregory

(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.