zg:zeitgeist
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zg:zeitgeist [2006/03/21 23:17] – v1.5 for Drupal 4.7beta6 fgm | zg:zeitgeist [2020/11/23 17:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 8: | Line 8: | ||
===== Features ===== | ===== Features ===== | ||
- | |||
- | |||
==== Current ==== | ==== Current ==== | ||
* Log searches with their timestamp | * Log searches with their timestamp | ||
- | * A customizable | + | * A themable |
- | * A customizable | + | * A themable |
- | * 4.7beta6-compatible | + | * A page displaying the most requested searches over a given time span |
+ | * 4.7.4 to 7.x compatible. | ||
==== Wishlist ==== | ==== Wishlist ==== | ||
- | * A page displaying the most requested searches over a given time span | ||
* A RSS feed tracking all searches | * A RSS feed tracking all searches | ||
* A periodic (weekly) summary of the top queries, by email to the site admin | * A periodic (weekly) summary of the top queries, by email to the site admin | ||
* A setting to include queries by UID=1 or not | * A setting to include queries by UID=1 or not | ||
+ | * Export the current table -> see offload.module | ||
+ | * Empty the current table | ||
+ | Looking further: | ||
+ | |||
+ | * ability to log various site uses, instead of just searches -> won't do, use other D6 logging modules. D6 was extended for that reason. | ||
+ | * coupling with statistics.module | ||
+ | * a cleaner way of trapping queries (why not just hook_search ?) | ||
===== Data ===== | ===== Data ===== | ||
- | + | ||
* Table ' | * Table ' | ||
* Variables: | * Variables: | ||
Line 35: | Line 39: | ||
* zeitgeist_latest_title: | * zeitgeist_latest_title: | ||
* In zeitgeist_latest_info and zeitgeist_latest_title, | * In zeitgeist_latest_info and zeitgeist_latest_title, | ||
+ | |||
+ | ===== Recurring issue ===== | ||
+ | |||
+ | As of 4.7.x/7.x, Drupal does not implement a standard search logging API. The net result is that code like zeitgeist.module, | ||
+ | |||
+ | * The core patch from which this module has been born used to parse the standard " | ||
+ | * For zeitgeist.module 4.7.x-1.1 to 4.7.x-1.6, this meant parsing both the " | ||
+ | * Later versions only alter search forms to add a submit handler. This simplifies the code, but leave it vulnerable to search.module changes. | ||
+ | |||
+ | At some point, drupal core will probably evolve to include such a logging mechanism, and zeitgeist will then be able to use it. Should the module become popular, it is also conceivable that search.module add a recording hook, independent of other recording needs. Things have evolved for the better in Drupal 7, where a single form implementation is used for all search forms, allowing simpler and more generic logging from the form submit handler. | ||
+ | |||
+ | Until this happens, it could be possible to use [[http:// | ||
+ | |||
+ | - rename drupal' | ||
+ | - implement a local do_search() function in zeitgeist.module. At this point calls by other modules should go to the new function instead of the standard version | ||
+ | - within this local do_search, | ||
+ | - perform the _zeitgeist_store_search | ||
+ | - invoke the standard do_search, now called zeitgeist_do_search | ||
+ | - return the results obtained from the standard do_search from our custom do_search | ||
+ | |||
+ | Problems: | ||
+ | |||
+ | * This would fail if the standard do_search did some stack checking, but the current version doesn' | ||
+ | * This requires the experimental " | ||
+ |
zg/zeitgeist.1142983020.txt.gz · Last modified: 2020/11/23 17:23 (external edit)