Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
accessing_zotero_data_using_an_sqlite_client [2007/11/07 15:38] – dstillman | dev:accessing_zotero_data_using_an_sqlite_client [2009/11/06 14:48] – dstillman | ||
---|---|---|---|
Line 2: | Line 2: | ||
It is important to note, however, that **external access to the SQLite database (including direct access via the mozStorage API) should only be done in a read-only manner.** Modifying the database while Zotero is running can easily result in a corrupted database, as mozStorage caching breaks the normal file-locking in SQLite that allows concurrent file access to be done safely. And even if Firefox is shut down before accessing the file, modifying the database directly bypasses the data validation and referential integrity checks performed by Zotero that are required for Zotero to function properly (and which aren’t provided by SQLite itself). Generally, the SQLite database should be viewed as an internal database that has the benefit of being externally readable for people who want to get the data out in other ways. | It is important to note, however, that **external access to the SQLite database (including direct access via the mozStorage API) should only be done in a read-only manner.** Modifying the database while Zotero is running can easily result in a corrupted database, as mozStorage caching breaks the normal file-locking in SQLite that allows concurrent file access to be done safely. And even if Firefox is shut down before accessing the file, modifying the database directly bypasses the data validation and referential integrity checks performed by Zotero that are required for Zotero to function properly (and which aren’t provided by SQLite itself). Generally, the SQLite database should be viewed as an internal database that has the benefit of being externally readable for people who want to get the data out in other ways. | ||
- | |||
- | (The main exception to this policy is for people interested in developing new translators or styles for Zotero, which can be done by adding new rows to the // |