Basic usage tracking is now implemented. Still need to test on oracle, but
basic functionality is working on postgres. Every time the user does one of the
following actions, it is logged in the access_log table, along with their uid,
ip number, the docid, and the date. I hav eyet to build a reporting funciton
for this, but it shouldn't be too difficult. The one problem I forsee is this
database growing too large too quickly, so one item might be a mechanism for
archiving the access_log table outside of the database on a regular basis. But
we'll see if that actually becomes an issue.
Still to do:
1) query/report functionality
2) make logging asynchronous to decrease the number of jdbc immediate calls
3) possibly write code to archive access_log data periodically
4) test on oracle
The access_log table records look like this, FYI:
entryid | ip_address | principal |
docid | event | date_logged
---------+---------------+--------------------------------------------+--------------------+--------+---------------------
5 | 24.237.20.168 | public |
knb-lter-gce.180.1 | read | 2004-04-02 12:31:46
6 | 24.237.20.168 | public |
obfs.45345.3 | read | 2004-04-02 12:32:19
7 | 24.237.20.168 | public |
obfs.45345.3 | read | 2004-04-02 12:32:36
8 | 24.237.20.168 | uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
obfs.45345.4 | update | 2004-04-02 12:33:41
9 | 24.237.20.168 | uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
obfs.45345.4 | read | 2004-04-02 12:35:05
10 | 24.237.20.168 | uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
obfs.45345.4 | delete | 2004-04-02 12:35:06
11 | 24.237.20.168 | public |
obfs.45346.1 | read | 2004-04-02 12:36:23
12 | 24.237.20.168 | uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
obfs.45350.1 | insert | 2004-04-02 12:39:24
13 | 24.237.20.168 | uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
knb-lter-gce.180.1 | read | 2004-04-02 12:45:08