Opened 4 years ago

Closed 2 years ago

#652 closed enhancement (implemented)

implement search module for groups

Reported by: westram Owned by: westram
Priority: major Milestone: r17q1
Component: ARB_NTREE Version: SVN
Keywords: Cc:

Description (last modified by westram)

Search criteria:

  • name (regexpr)
  • min/max level (group nesting)
  • parent group (regexpr)
  • contains some/only/no marked species
  • folded/unfolded
  • average in-group distance (=AID; see #653)

Search range:

  • current tree (use tree of primary main-window; show name of used tree in group-search GUI)
  • all trees
  • several specified trees (manual or wildcard selection)

Extended search criteria:

  • find duplicates
    • exact or partial duplicates (i.e. whole name or just duplicate words)
    • duplicates inside one tree or between different trees (or both)
    • duplicates occurring in all, any or a specified portion (%) of all searched trees
    • allow to search inverse (e.g. all groups NOT occurring in both trees)

Listed group-search results are defined by

  • name of tree
  • location inside that tree (a bit-string defining descend-recipe; 0=left,1=right branch)

Results have to be invalidated when a tree gets updated. Updates by group-search may leave results as valid, as long as no groups are deleted.

List matching groups in selection list. Result can be sorted by

  • topology (=treename,position; default)
  • name
  • nesting level
  • AID
  • group-size (=number of species)
  • number of marked species
  • portion (%) of marked species
  • reverse

Allow multiple criteria (similar to species search).
Note that 'topology' defines a strict order, i.e. any sub-criteria can be removed.

Actions provided for listed groups:

  • mark/unmark/invert species contained/not contained in any/all listed groups
  • batch rename of listed groups (using ACI/SRT)
  • delete listed groups
  • fold/expand listed groups; optionally fold rest
  • expand parent groups of listed groups; optionally fold rest

Actions provided for selected group:

  • jump to one contained species (which?)
  • unfold group
  • unfold parent groups only
  • scroll tree to show group (w/o selecting species)
  • highlight selected group (#709)

Implementation notes:

  • during search tree is loaded from DB (into a class e.g. derived from SizeAwareTree)
  • that class shall always store
    • group nesting level
    • fold-state of group(?)
  • depending on search- and sort-criteria, that class has to provide
    • number of marked species (needs a linked tree)
    • AID (needs separate calculation)
  • search results shall cache these values; force separate calculation if one of these values is selected as sort-criteria after search if it was not cached then.

reconsider #213


Optional features:

  • display "result text" in tree-view (as shown in search result)

Umbrella ticket: #654

Change History (14)

comment:1 Changed 4 years ago by westram

  • Description modified (diff)

comment:2 Changed 4 years ago by westram

  • Description modified (diff)

comment:3 Changed 4 years ago by westram

  • Description modified (diff)
  • Milestone set to wishlist2016

comment:4 Changed 4 years ago by westram

  • Description modified (diff)

comment:5 Changed 3 years ago by westram

  • Priority changed from normal to major

comment:6 Changed 3 years ago by westram

  • Description modified (diff)

comment:7 Changed 3 years ago by westram

  • Description modified (diff)

comment:8 Changed 3 years ago by westram

  • Description modified (diff)

comment:9 Changed 3 years ago by westram

  • Milestone changed from wishlist2016 to r17q1

comment:10 Changed 3 years ago by westram

  • Owner changed from devel to westram
  • Status changed from new to assigned

comment:11 Changed 3 years ago by westram

  • Description modified (diff)

comment:12 Changed 3 years ago by westram

  • Status changed from assigned to accepted

comment:13 Changed 2 years ago by westram

  • Status changed from accepted to _started

comment:14 Changed 2 years ago by westram

  • Resolution set to implemented
  • Status changed from _started to closed

by [15966]

Note: See TracTickets for help on using tickets.