Quote:
Originally Posted by kovidgoyal
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