View Single Post
Old 09-10-2016, 10:01 AM   #4
DaltonST
Deviser
DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.DaltonST ought to be getting tired of karma fortunes by now.
 
DaltonST's Avatar
 
Posts: 2,265
Karma: 2090983
Join Date: Aug 2013
Location: Texas
Device: none
Calibredb: Backward Compatibility

Quote:
Originally Posted by kovidgoyal View Post
You can use calibredb while the GUI is running, but it is not a good idea and it's likely the ability will be removed in the future in favor of a direct IPC interface to the db the GUI is using. Adding/modifying custom columns requires a GUI restart, which is why calibre db does not notify the GUI on those actions, while adding/deleting/etc. works fine witha simple refresh in the GUI.

Kovid,

I know that you put a great premium on backward compatibility of fundamental changes to Calibre, so I would like to state that I have several plug-ins that use calibredb to automatically create new Custom Columns for the user in order for them to continue.
  • CALM - Consolidate All Library Metadata
  • ZMI - Zotero Metadata Importer
  • LC - Library Codes
ZMI creates its standard set of 27 Custom Columns using calibredb, then automatically restarts Calibre.

CALM creates (potentially hundreds of) Custom Columns using calibredb in a CALM Target Library that is never the current Library, although of course the GUI is running for the current Library since CALM is being used. No restart is needed when calibredb updates an "offline" Library even if the GUI is running for a different Library.

LC creates user-selected Custom Columns, then does what Calibre itself does in Preferences > Add your own columns: the user is told that they must manually restart Calibre for the changes to take effect.

Thousands of Calibre Users would be impacted by any non-backward-compatible changes to calibredb.


Thanks for your consideration.


DaltonST
DaltonST is offline   Reply With Quote