From: Peter K. <pet...@ca...> - 2009-09-24 21:40:32
|
This is an addenda to my earlier comment about having a vufind_word_index_pending table. When I replied, I had not seen all the correspondence on this topic. Given that others are thinking of a similar route, I thought I would provide more detail while stressing this is still experimental. Trigger CREATE TRIGGER dbo.word_index_pending_i_trig ON dbo.word_index_pending For INSERT AS BEGIN insert vufind_word_index_pending select inserted.SerialNum, inserted.Action, inserted.RecNum, inserted.RecType from inserted END with an Index on the vufind_word_index_pending table Clustered unique just on the serialnum column. Workflow Copy the entries into a temporary table Truncate, then populate two tables of bib#. The first gets bib#s (i.e. recnum) for action 1 (i.e. deletions). The second gets bib#s for actions 0,2. Delete from the second table bib#s which also have an action 1. This is because a deletion process may create two entries, one for update (perhaps if an item is deleted first) and a second for deletion. We don't really want to update a record that is going to be deleted. Once these two bib# tables are created, we can delete selected records from the vufind_word_index_pending table. I'm doing those based on the serialnum field - I'm deleting records where the serialnum is in my temporary table, so that I don't delete records added after the process started. Use these two bib# tables to control marcout - produce one file of marc records for deletion, one for adds/updates. Use a ftp client with a scheduler to copy these to the Vufind server Have scheduled tasks on VuFind to process these two files. While this all works manually, I haven't tied it together into an automated process. Thus far it is just a proof-of-concept process. Regards, Peter Kennedy This email may be confidential and subject to legal privilege, it may not reflect the views of the University of Canterbury, and it is not guaranteed to be virus free. If you are not an intended recipient, please notify the sender immediately and erase all copies of the message and any attachments. Please refer to http://www.canterbury.ac.nz/emaildisclaimer for more information. |