[TASK][!!!] Improve Backend search
authorDmitry Dulepov <dmitry@typo3.org>
Wed, 18 May 2011 11:52:59 +0000 (14:52 +0300)
committerAndreas Wolf <andreas.wolf@ikt-werk.de>
Mon, 11 Jul 2011 15:00:04 +0000 (17:00 +0200)
commit7b3d5b97ed9e00af4eb08b7e59c7311b5ed72e15
tree810de1c0e821965788d13c15fd1e99750c3f7231
parent2738128792cf8d709091039fc0cbcea532a18125
[TASK][!!!] Improve Backend search

There are several problems with current Backend search:
* it searches far more fields than necessary (for example, TSConfig)
* it searches "uid" and other numeric fields even if the value is not
  numeric
* it uses LIKE x search on numeric fields and forces DAM to make an
  XCLASS
* it searches all tables even if they do not make sense to be searched
* it is too slow
* it searches only first four levels deep in the page tree

All these problems come from the [wrong] idea that TYPO3 can detect
where it can search. Instead, tables should be marked as "searchable"
and provide a list of fields that make sense to search. Also it makes
sense to search some fields as case insensitive. This task solves all
described issues.

After this change extensions will need to explicitely mark their tables
as searchable. Until that, those table will not be searched.

Search by default is NOT case sensitive. If the developer wants a case
sensitive search on the column, (s)he should ensure proper locale on
that column (as described at http://bit.ly/1zw8dC) and mark the column
as case-sensitive for search (see TYPO3 core API for more details).

Change-Id: I2b194dc1c746a4fc3f7663358ed08d7c9f6e11a8
Resolves: #26829
Releases: 4.6
Reviewed-on: http://review.typo3.org/2189
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Markus Klein
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Kay Strobach
Tested-by: Kay Strobach
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
Reviewed-by: Xavier Perseguers
t3lib/stddb/tables.php
typo3/class.db_list.inc
typo3/js/backendsearch.js
typo3/js/livesearch.js
typo3/sysext/cms/ext_tables.php
typo3/sysext/cms/tbl_tt_content.php