#936: WebStat: improve system health page with ingestion status information
-------------------+---------------------
Reporter: simko | Owner:
Type: defect | Status: new
Priority: major | Component: WebStat
Version: | Keywords:
-------------------+---------------------
Invenio admins can get a quick overview about system health of their
Invenio instance by looking at the URL `/stats/system_health`. We should
improve this page to provide more information about current status of
indexing, ranking, etc processes.
1) BTW, we should rather use `system-health` URL with a dash, not with an
underscore, in order to be consistent with usual naming scheme such as
`search-tips`. For compatibility purpose, the old URL should redirect to
new URL.
2) BTW, there is stuff like 'Yearly report' printed there.
But //yearly reports// information belongs rather elsewhere, not to
//current// system health.
3) We should enrich the Current System Health page with information about
how many records are still waiting for indexing.
For every index from the `idxINDEX` table, compare `idxINDEX.last_updated`
and see how many records have `bibrec.modification_date` greater than
`idxINDEX.last_updated`, and print their number. Also, since we know
their record IDs, we should offer link to search page with query pattern
looking like
`recid:123 OR recid:456 OR ...` so that admins could click on it and see
which records concretely are not fully processed yet.
The UI could look simply like:
{{{
Indexing status:
_17_ records not yet author indexed (since 2012-03-07 14:14:15)
_345_ records not yet title indexed (since 2012-03-07 14:10:13)
}}}
or just print a message like "All records are well indexed" if
everything is up to date.
4) Similarly to 3, the same should be done for ranking, see
`rnkMETHOD.last_updated`.
5) Similarly to 3, the same should be done for sorting, see
`bsrMETHODDATA.last_updated`.
6) Similarly to 3, the same should be done for webcoll, see
`/opt/invenio/var/cache/collections/last_updated`.
7) An alternative and dynamic entry point could be to offer another UI
(under another URL) where users could enter record ID in a text box and
query the system to enquire about health of the given record and the
system would reply back whether the given record is up to date, or whether
it is awaiting title indexing, or citation ranking, or stuff.
The output could be HTML to be consumed by admins, or something like
XML/JSON to be consumed by scripts. Since the business logic would be
closely related to summaries that are printed on the Current System Health
page, I'm mentioning this alternative entry point as part of the same
ticket.
--
Ticket URL: <http://invenio-software.org/ticket/936>
Invenio <http://invenio-software.org>