Project

General

Profile

Actions

Feature #14995

closed

Search in DB for occurrences of a string

Added by Carsten Rose over 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Carsten Rose
Target version:
Start date:
05.11.2022
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No
Vote:

Description

Beim Refactoring fragt man sich oft wo wird ein String (z.B. ein Spaltenname) verwendet?

Fuer T3 gibt es eine recht gute (effziente) Suche.

Fuer QFQ waere es gut wenn wir etwas vergleichbares haetten. Ggfs. auch fuer T3 (das koennen wir zwar nicht verlinken, aber zumindest die uid und den T3 Pagenamen angeben.

  • Suchstring
  • Checkbox: exact oder wildcard
  • Checkbox: a) Limit 100, b) all
  • Suche in allen Spalten von Form & FormElement.
  • Checkbox: Suche in allen Tabellen.
  • Ausgabe Matches pro Tabelle
  • FormElemente die disabled sind: entsprechend markieren das sie disabled sind.
  • Verlinkung (Edit) um den Match zu bearbeiten:
    • Pro Match/Tabelle wird nach Forms gesucht die die aktuelle Tabelle als Primary Table haben.
    • Haben die gefundenen Forms in 'required_edit' etwas eingetragen?
      • Ja: 'Edit' ist disabled.
      • Nein: 'Edit' is enabled.
    • Gibt es mehrere passende Forms, werden alle angegeben / verlinkt
  • Neu: Im Form 'FormElement' soll es neu einen Link geben um das 'Form' (normalerweise erreichbar via Back Button der hier aber nicht funktioniert) aufzurufen.
  • Ist es moeglich den gefundenen Text zu markieren? Ohne das die Markierung bei einem Save gespeichert wuerde.
  • Bei Suche in T3 waeren vermutlich die Tabellen 'pages' und 'tt_content' interessant. Wichtig ist das 'deleted' Records nicht selektiert werden und 'disabled' markiert werden das sie disabled sind.
  • Die ganze Logik koennte mit auf der Seite des FormEditor implementiert werden - die Seite gibt es schon und es passt auch inhaltlich einigermassen.
  • Nice to have: Radiolist 'todo'
    • Eine Suche wird mit dem Suchbegriff gespeichert (Browser Localstore) und eine ID zugeordnet.
    • Jeder Treffer bekommt eine Radioinput mit 'open,done,wdc' mit einer eindeutigen (HTML-)ID: searchid_dbname_tablename_recordid
    • Der Radio input state wird im Browser Localstore gespeichert.
    • Es gibt einen Clear Button um die Suchanfragen und zugehoerige Radio input Werte zu loeschen.
    • Alte Suchanfragen koennen wieder aufgerufen werden - inkl. Restore wie weit man mit dem Refactoring gekommen ist.

Gedanken
--------

QFQ:

  • Wenn wir eine stored procedure machen, die als Parameter den Suchstring und einen Tabellennamen bekommt (Return: set of record id die matches), koennte man ggfs. den Rest in QFQ Report Notation umsetzen.
  • Wuerde die SP ein Resultset zurueckliefern, koennte darueber iteriert werden.
  • Den QFQ Code koennte man evtl. auf der FormEditor Seite implementieren oder wie beim FormEditor die Seite als JSON mitliefern.

PHP:

  • Wenn wir das in PHP Programmieren waere eine Ausgabe moeglich vergleichbar mit der Wiki Suche in Redmine. Es koennte die Spalte angegeben werden in der der Match war.

Files


Related issues

Related to QFQ - Feature #15491: Search/Refactor: redesignClosedCarsten Rose06.02.2023

Actions
Has duplicate QFQ - Feature #12477: Support for refactoring: Form, FormElement, diverse Tabellen/Spalten, tt-content RecordsRejectedCarsten Rose02.05.2021

Actions
Actions

Also available in: Atom PDF