Sun Java System Calendar Server 6 2005Q1 Administration Guide |
Chapter 18
Administering the Delete Log DatabaseCalendar Server includes the Delete Log database (ics50deletelog.db) to store deleted events and todos (tasks).
In early releases, Calendar Server did not maintain a database of deleted events and tasks. Users were forced to save the unique identifiers (uid) or recurrence identifiers (rid) of events or todos (tasks) to determine which components had been deleted. This limitation directly affected installations that used WCAP commands to develop a client user interface (UI). To solve this limitation, the delete log database was created.
This chapter describes:
Creation of the Delete Log DatabaseCalendar Server automatically creates the Delete Log database (ics50deletelog.db) in the csdb directory along with the other Calendar Server database files. Calendar Server writes events and todos to the Delete Log database as follows:
When individual instances of a recurring event or task are deleted, Calendar Server writes each deleted instance of the event or task to the Delete Log database (ics50deletelog.db).
When all instances of a recurring event or todo are deleted, Calendar Server deletes the master component from the event or todo database and then writes it to the Delete Log database. A master component in the Delete Log database will contain the rrules, rdates, exrules, and exdates recurrence parameters.
Querying the Delete Log DatabaseTo return entries from the Delete Log database, use the fetch_deletedcomponents WCAP command in either Expanded Mode or Compressed Mode:
If the recurring parameter is 1, fetch_deletedcomponents returns non-recurring events and the master components for any recurring events, but it does not return individual recurring events.
If all instances in a recurring chain are deleted, the master component returns the dtstart, dtend, rrules, rdates, exrules, exdates, and uid parameters.
Also, fetch_deletedcomponents does not return master components associated with the deleted recurring instances that are still active. To return active master components, use the fetchcomponents_by_lasmod WCAP command. The fetch_deletedcomponents command should be used in conjunction with the fetchcomponents_by_lasmod command.
For more about WCAP commands, see the Sun Java System Calendar Server 6 2005Q1 Developer’s Guide.
Purging the Delete Log DatabaseCalendar Server provides both the Automatic Purge of the Delete Log Database and the Manual Purge of the Delete Log Database.
Automatic Purge of the Delete Log Database
If you wish, you can have Calendar Server automatically purge entries in the Delete Log database.
Table 18-1 describes the parameters in the ics.conf file that control the automatic purge.
For example, to have Calendar Server automatically purge Delete Log database entries every five minutes (600 seconds) that are more than 2 days old (172800 seconds), set parameters in Table 18-1 as follows:
service.admin.purge.deletelog="yes"
caldb.berkeleydb.purge.deletelog.interval=600
caldb.berkeleydb.purge.deletelog.beforetime=172800After you set these parameters, restart Calendar Server for the new values to take effect.
Manual Purge of the Delete Log Database
To manually purge entries in the Delete Log database (ics50deletelog.db), use the cspurge utility:
cspurge -e endtime -s starttime
where endtime and starttime specify the ending and starting times in Zulu time (also referred to as GMT or UTC).
To run cspurge, you must be logged in as the user and group under which Calendar Server is running (defaults are icsuser and icsgroup) or as root.
For example, to purge entries from July 1, 2003 through July 31, 2003:
cspurge -e 20030731T235959Z -s 20030701T120000Z
For more information, see cspurge in Appendix D, "Calendar Server Command-Line Utilities Reference"
Using Calendar Server Utilities for the Delete Log DatabaseTable 18-2 lists the Calendar Server utilities that support the delete log database (ics50deletelog.db):
For more information, including the syntax for these utilities, see Appendix D, "Calendar Server Command-Line Utilities Reference"