Commit graph

397 commits

Author SHA1 Message Date
Dan Stillman
db0fa3c33e Async DB megacommit
Promise-based rewrite of most of the codebase, with asynchronous database and file access -- see https://github.com/zotero/zotero/issues/518 for details.

WARNING: This includes backwards-incompatible schema changes.

An incomplete list of other changes:

- Schema overhaul
  - Replace main tables with new versions with updated schema
  - Enable real foreign key support and remove previous triggers
  - Don't use NULLs for local libraryID, which broke the UNIQUE index
    preventing object key duplication. All code (Zotero and third-party)
    using NULL for the local library will need to be updated to use 0
    instead (already done for Zotero code)
  - Add 'compatibility' DB version that can be incremented manually to break DB
    compatibility with previous versions. 'userdata' upgrades will no longer
    automatically break compatibility.
  - Demote creators and tags from first-class objects to item properties
- New API syncing properties
  - 'synced'/'version' properties to data objects
  - 'etag' to groups
  - 'version' to libraries
- Create Zotero.DataObject that other objects inherit from
- Consolidate data object loading into Zotero.DataObjects
- Change object reloading so that only the loaded and changed parts of objects are reloaded, instead of reloading all data from the database (with some exceptions, including item primary data)
- Items and collections now have .parentItem and .parentKey properties, replacing item.getSource() and item.getSourceKey()
- New function Zotero.serial(fn), to wrap an async function such that all calls are run serially
- New function Zotero.Utilities.Internal.forEachChunkAsync(arr, chunkSize, func)
- Add tag selector loading message
- Various API and name changes, since everything was breaking anyway

Known broken things:

- Syncing (will be completely rewritten for API syncing)
- Translation architecture (needs promise-based rewrite)
- Duplicates view
- DB integrity check (from schema changes)
- Dragging (may be difficult to fix)

Lots of other big and little things are certainly broken, particularly with the UI, which can be affected by async code in all sorts of subtle ways.
2014-08-06 22:59:37 -04:00
Dan Stillman
e76cc07371 Merge locales from Transifex 2014-06-19 02:05:29 -04:00
Dan Stillman
3d27c2c6a7 Merge locales from Transifex 2014-06-07 17:16:40 -04:00
Dan Stillman
825cea47fb Fix "<" in translator error popup in French locale
ba89dbf0ae (commitcomment-6535838)
2014-06-03 17:27:24 -04:00
Dan Stillman
ba89dbf0ae Link translator errors to troubleshooting page instead of known issues 2014-06-02 17:00:57 -04:00
Dan Stillman
227fe74a1e Merge new English strings 2014-05-26 20:15:54 -04:00
Dan Stillman
59f534d56f Error report improvements
- Always allow "Report Errors...", even when no errors

- Show submitted diagnostic info in report

- Use white background and unitalicized text for report

- Make window larger by default
2014-05-26 20:07:41 -04:00
Dan Stillman
77842f7dc6 Add Ukrainian locale 2014-05-16 14:51:49 -04:00
Dan Stillman
eaff0fa419 Merge locales from Transifex 2014-05-16 14:50:19 -04:00
Dan Stillman
fef20d39a8 Merge English string 2014-05-15 21:41:22 -04:00
Dan Stillman
9f91d240b0 Library switcher in advanced search window
When opening the advanced search window, the current library is
selected, and a different library can be selected to change the search
scope. If a library is read-only, the saved search button is disabled.
For saved searches, the appropriate library is selected and the
drop-down is disabled.

Also:

- Close the advanced search window after a search is saved
- The default name for saved searches ("Untitled 2", etc.) was based on
  collections rather than searches
- Once an initial search has been performed, the drop-downs and
  checkboxes now update the results
- More consistent spacing in advanced search window
- (dev) Zotero.DB.getNextName() now takes a libraryID as its first
  parameter instead of always using My Library; the old parameters are
  deprecated but still work
2014-05-15 21:41:22 -04:00
Dan Stillman
faad761491 Merge new English strings 2014-05-07 05:16:24 -04:00
Dan Stillman
dd477e15b8 Configurable secondary sorting and other improvements
- Each column in the middle pane can now have its own persistent
  secondary sort column, configurable from a new submenu in the column
  picker menu (top right of items list). The settings are stored in
  extensions.zotero.secondarySort.[primaryField]. The submenu title
  includes the current primary field (e.g., "Secondary Sort (Creator)"),
  which is pretty weird, and I'm not sure I want to keep it, but it does
  convey that the setting is specific to the selected column.

- The fallback sort fields (firstCreator, date, title, dateAdded) are
  now configurable via the extensions.zotero.fallbackSort. Setting that
  pref to an empty string avoids all fallback sorts, which
  allows reverse-order clicking to set the order, as requested by
  @aurimasv in #275.

- The previous behavior of sorting based on the exact Creator string
  (rather than the actual creators) can now be restored with the
  extensions.zotero.sortCreatorAsString pref. (It simply circumvents all
  the newer code, so it's pretty safe.) This setting should result in
  faster sorting in large libraries that have many items with the same
  Creator string.

- Some of the lesser fields in the column picker menu are now in the
  More Columns submenu (which is now alphabetical)

- The "Type" column is now the less-ambiguous "Item Type".

- This uses a different method to modify the column picker menu that is
  simultaneously less and more hacky. (It no longer has to duplicate
  Mozilla code in a custom XBL binding that wouldn't reflect future
  upstream changes, and instead it bushwhacks its way through various
  boxObject properties to get to the underlying menupopup.)
2014-05-07 05:15:07 -04:00
Dan Stillman
bda9c4aa3c Updates locales from Transifex 2014-05-03 13:42:16 -04:00
Dan Stillman
1524fff30f Revert "Separate toolbar guidance strings for easier localization"
This reverts commit 5da9b4bbb6 and uses
slightly different wording between the two messages ("Click here…" vs.
"Click the icon…").
2014-04-29 03:03:42 -04:00
Dan Stillman
cefe301c74 s/firstRunGuidance.toolbarButton.new/firstRunGuidance.toolbarButton.upgrade/ 2014-04-28 22:56:41 -04:00
Dan Stillman
d4087c5b58 Merge new English strings 2014-04-28 22:51:51 -04:00
Dan Stillman
5da9b4bbb6 Separate toolbar guidance strings for easier localization 2014-04-28 22:49:51 -04:00
Simon Kornblith
4afb29e59f Tweak toolbar icon guidance 2014-04-28 20:49:45 -04:00
Simon Kornblith
6c74d670d1 Missing strings from last commit 2014-04-28 20:40:14 -04:00
Dan Stillman
6201577829 Update locales from Transifex 2014-04-26 01:34:38 -04:00
Dan Stillman
7091431c21 Update locales from Transifex
Includes new Lithuanian locale
2014-03-19 15:06:19 -04:00
Dan Stillman
b6b005f66f Update locales from Transifex 2014-03-16 00:19:52 -04:00
Dan Stillman
79904325ee Update locales from Transifex 2014-01-31 18:10:43 -05:00
aurimasv
57350fae1e [Retrieve Metadata] Use a single queue to query Google Scholar. Window closing tweaks.
* Close window on blur after completion on Mac (revert previous change)
* Don't close window when canceling
* Add Esc handler to cancel/close window
* Allow columns to be resized
* Fixes #445
* Fixes #444
2014-01-31 02:09:35 -06:00
aurimasv
b3da19e96d [Retrieve Metadata] Recognize HTTP 503 code as Google Scholar CAPTCHA + other tweaks.
* Stop metadata retrieval when cancelled
* Display CAPTCHA dialog
* Don't close window on blur
* Use Zotero.Utilities.cleanISBN to validate ISBNs
2014-01-31 02:00:28 -06:00
Dan Stillman
af63818bed Update locales from Transifex 2013-12-13 18:33:27 -05:00
Dan Stillman
15710060be "back up and delete" -> "remove" 2013-11-21 20:25:14 -05:00
Dan Stillman
74445f11b3 "signons.*" -> "signons.sqlite" in corrupt-login-manager error message 2013-11-21 20:22:00 -05:00
Dan Stillman
1a8f264ccf Add "directory" to "[Firefox/Zotero] profile" in login manager error message 2013-11-21 20:18:22 -05:00
Dan Stillman
3aea8bf040 Update locales from Transifex 2013-11-19 17:39:22 -05:00
Dan Stillman
a75192d744 Add ellipses to Rebuild/Clear Index buttons in prefs
And add punctuation.ellipsis localized string
2013-11-19 15:52:30 -05:00
Dan Stillman
bb03b80816 Update locales from Transifex
(ignoring some strings that were reverted due to small changes in the
English versions, which hopefully will be redone on Transifex before the
next pull)
2013-11-18 03:04:50 -05:00
Dan Stillman
2ca0d159b5 Update locales 2013-11-13 00:40:22 -05:00
Dan Stillman
f4abe14b59 Merge branch 'db-update' into 4.0 2013-11-13 00:32:48 -05:00
Dan Stillman
8e52dcca42 Tweak the text a bit in #410 2013-11-13 00:31:45 -05:00
Dan Stillman
de62d3865e Update locales from Transifex 2013-11-12 00:39:09 -05:00
Dan Stillman
7ae36f968f Change "files" to "items" in library-access-denied message 2013-11-10 15:31:23 -05:00
Dan Stillman
6e9b491e82 Update locales from Transifex 2013-11-05 16:52:31 -05:00
Dan Stillman
9161237e90 Merge branch '4.0_fulltext_sync' into 4.0 2013-11-05 16:21:11 -05:00
Dan Stillman
a47bd95903 Localize full-text sync strings 2013-11-05 16:16:31 -05:00
Simon Kornblith
0b92ad0037 Modify behavior on Zotero Standalone launch to account for failure
- Close Zotero pane before database is closed prior to reload, instead
  of waiting until reload is complete
- Show an error message if Zotero Standalone is not accessible when it
  should be
2013-11-05 15:52:40 -05:00
gracile-fr
f3137099bc Localize et al. in the middle pane
(Heromyth's PR #358, #360, #361)
2013-08-15 23:15:02 +02:00
gracile-fr
723e8a4e30 Localize Ctrl/Cmd-Shift in Prefs 2013-08-15 22:53:56 +02:00
gracile-fr
355b1fbc57 Localize Ctrl/Cmd-Shift in Prefs 2013-08-15 22:45:04 +02:00
Dan Stillman
b6f493207f Closes #311, Update RIS/Refer pref to mention BibTeX too 2013-08-06 16:32:02 -04:00
Dan Stillman
f2d9580ba6 Update locales from Transifex 2013-08-06 15:19:45 -04:00
Dan Stillman
86c6611560 Update auto-update pref text to include styles 2013-08-05 10:57:09 -04:00
Dan Stillman
dc8998c5bc Add Firefox-wide shortcut (Ctrl/Cmd-Shift-S) for "Save to Zotero"
Also: Don't show Firefox-specific shortcut keys in Standalone prefs
2013-07-31 23:19:19 -04:00
Simon Kornblith
670f272b32 Alter message on auto-update
Avoid ambiguously implying that Linux users should be running Zotero as
root, and tell them to fix the permissions on the Zotero executable instead.

See https://forums.zotero.org/discussion/31020/
2013-07-27 01:46:13 -04:00