@capink: a thought: you could solve this problem and probably increase performance by adding an action that scans the book variables and assigns values to metadata. It would look for variables that match metadata field names. If such a variable exists then set the field in the book to the value.
The advantage: you could set all the fields for a book in one operation (one set_field()), so in one database transaction. I don't know how this would affect triggering the last_modified events. My hope would be that they are triggered at most once per book.
|