- Group file sync via Zotero File Storage
- Split file syncing into separate modules for ZFS and WebDAV
- Dragging items between libraries copies child notes, snapshots/files, and links based on checkboxes for each (enabled by default) in the Zotero preferences
- Sync errors now trigger an exclamation/error icon separate from the sync icon, with a popup window displaying the error and an option to report it
- Various errors that could cause perpetual sync icon spinning now stop the sync properly
- Zotero.Utilities.md5(str) is now md5(strOrFile, base64)
- doPost(), doHead(), and retrieveSource() now takes a headers parameter instead of requestContentType
- doHead() can now accept an nsIURI (with login credentials), is a background request, and isn't cached
- When library access or file writing access is denied during sync, display a warning and then reset local group to server version
- Perform additional steps (e.g., removing local groups) when switching sync users to prevent errors
- Compare hash as well as mod time when checking for modified local files
- Don't trigger notifications when removing groups from the client
- Clear relation links to items in removed groups
- Zotero.Item.attachmentHash property to get file MD5
- importFromFile() now takes libraryID as a third parameter
- Zotero.Attachments.getNumFiles() returns the number of files in the attachment directory
- Zotero.Attachments.copyAttachmentToLibrary() copies an attachment item, including files, to another library
- Removed Zotero.File.getFileHash() in favor of updated Zotero.Utilities.md5()
- Zotero.File.copyDirectory(dir, newDir) copies all files from dir into newDir
- Preferences shuffling: OpenURL to Advanced, import/export character set options to Export, "Include URLs of paper articles in references" to Styles
- Other stuff I don't remember
Suffice it to say, this could use testing.
should fix note handling in MacWord and WinWord. still need to figure out how to get the index of the note in OpenOffice without having to loop through every note
Closes#884, final period missing when a citation is first added in note styles
Closes#1298, issues with footnotes and citations in OOo
Closes#1069, Use async HTTP calls for integration requests
Closes#1027, User-customizable integration port number
Closes#698, Migration away from VBA
Closes#1085, Migrate VBA plug-in to new XML-based API
Closes#792, Auto-updating of OO plugins
- dropping Zotero items into a bucket puts them in that IA bucket
- double clicking a bucket takes you to that IA bucket
In order to enable Zotero Commons:
1) Get an access key and secret key at http://www.archive.org/account/s3.php
2) Go to about:config
3) Search "commons" (no quotes)
4) Set "extensions.zotero.commons.enabled" to true
5) Enter your S3 access key into "extensions.zotero.commons.accessKey"
6) Enter your S3 secret key into "extensions.zotero.commons.secretKey"
7) Enter your buckets into "extensions.zotero.commons.buckets" as a comma separated list
Note: Steps 4-7 take effect in new windows
- Restored save when clicking from open text field to another item
- Delay/weirdness when switching items/tabs should be gone
- Tab content updates properly when using Ctrl-arrows to navigate
- Removed some obsolete code
- Remove reference to Word from incompatible version message, which is also used with OpenOffice
- Add lines to Doc Prefs window to clarify the necessary file format (though enforcing this at save time would be best)
- File import now uses a translucent overlay over Zotero pane with a progress meter that doesn't hang
- New method Zotero.wait(timeout) to allow synchronous code to wait for events on main thread to be processed until timeout is reached
- Wait status can be tested with Zotero.waiting property
- Zotero.showZoteroPaneProgressBar(msg, determinate) locks Zotero and creates overlay with progress meter
- Code that might trigger via timers or external UI should check Zotero.lock
Lock checks so far:
- Translator save icon and RIS/Refer import display error if triggered while locked
- Browser content context menu options are now in a Zotero submenu and are disabled when Zotero is locked
- Sync, repository, and DB backup timers check for lock and bail
- If a new window is opened, Zotero pane can't be opened and display an error message until lock is released
Probably need to check lock in word processor integration code and advanced search window
Also:
- New method Zotero.sleep(ms) (currently unused) to allow synchronous code to sleep and allow events on main thread to be processed
Alert doesn't pop up on background sync, and auto-syncs triggered by edits are now considered background syncs (like the auto-sync when opening the Zotero pane), which means they won't pop up the conflict resolution window either.
- For PDFs, stop deleting full-text cache file after indexing, and regenerate when getting content if necessary
- MozMill tests
Other MozMill changes:
- Added Cmd-Shift-M shortcut key to open window
- this.controller now available in Zotero.MozMill if passed in from setupModule() with Zotero.MozMill.setController(module.controller);
- Various new Zotero.MozMill methods, including for creating file attachments
- Use grippy for collapsing tag selector and remove toolbar icon
- Remove redundant Attachments and Notes tabs in metadata pane
- Add all four child attachment options to submenu of item context menu
- Add Zotero.Error(message, error) constructor to create a throwable error object with an error code
- Allow only one automatic client reset between manual syncs
- Fix "Source item for keyed source doesn't exist in Zotero.Item.getSource()" error
- Object produced by item.serialize() now contains .sourceItemKey instead of .sourceItemID
- Better error logging for missing XPCOM files
- Connect tabs to pane
- Allow switching between metadata pane tabs using standard Firefox shortcuts (Ctrl-Tab, Ctrl-Shift-Tab)
- Fixed squished look in Firefox 3.5
- Remove some unnecessary padding, providing a little bit more room in the metadata pane
Needs a little testing
Closes#711, Improve keyboard support
- closes#1513, RTF Scan: {Bib} Placemarker Flexibility
- switches citations from parentheses to brackets, to make it easier to distingush between what was reformatted and what wasn't
- adds a list of example citations to RTF scan dialog
- Add newline and characters not valid in XML (mostly control characters) to filename blacklist
- Strip invalid characters when user is renaming a file manually
- Make note font configurable through extensions.zotero.note.fontFamily hidden pref (for now)
- Additional CSS rules can be added through extensions.zotero.note.css hidden pref
- Give TinyMCE note body #zotero-tinymce-note id for more specific external customization
- Remove status bar position option from visible preferences...
- Double-clicking My Library takes you to online library
- Triple-clicking, rather than double-clicking, now expands/collapses parent items, which no one will notice or care about because I'm apparently the only person in the world who previously double-clicked to expand parent items. I feel so alone.
Closes#905, "ability to set primary attachment for the "view" button in the parent item" -- I think this is as close as we're gonna get.
The tree expand/collapse behavior still happens concurrently, which is a little awkward.
- Double-clicking a group no longer expands/collapses the group while taking you to the group page
- Adjust Zotero.Items.getAll(onlyTopLevel) to take a libraryID in the second parameter and only search local library otherwise -- this has the side effect of no longer exporting group items when using Export Library, which may or may not be what we want
- Add Zotero.Libraries.isEditable(libraryID) (currently unused)
- Addresses #1444, Attachment arrow/count persists after delete, for items (problem probably remains for collections)
- Dragging PDF favicon or link or clicking Create New Item from Current Page when viewing a PDF creates a top-level PDF -- this is a temporary solution that allows "Retrieve PDF Metadata" to be used until it can be run automatically
- Allow PDF child snapshots to be dragged out of parents
- Dragging a link to a collection now creates parent item and child snapshot
- ZoteroPane.newItem(), addItemFromDocument(), addItemFromPage(), addItemFromURL(), and canEdit() now all take an optional row parameter
- Support for group libraries
- General support for multiple libraries of different types
- Streamlined sync support
- Using solely libraryID and key rather than itemID, and removed all itemID-changing code
- Combined two requests for increased performance and decreased server load
- Added warning on user account change
- Provide explicit error message on SSL failure
- Removed snapshot and link toolbar buttons and changed browser context menu options and drags to create parent items + snapshots
- Closes#786, Add numPages field
- Fixes#1063, Duplicate item with tags broken in Sync Preview
- Added better purging of deleted tags
- Added local user key before first sync
- Add clientDateModified to all objects for more flexibility in syncing
- Added new triples-based Relation object type, currently used to store links between items copied between local and group libraries
- Updated zotero.org translator for groups
- Additional trigger-based consistency checks
- Fixed broken URL drag in Firefox 3.5
- Disabled zeroconf menu option (no longer functional)
Developer-specific changes:
- Overhauled data layer
- Data object constructors no longer take arguments (return to 1.0-like API)
- Existing objects can be retrieved by setting id or library/key properties
- id/library/key must be set for new objects before other fields
- New methods:
- ZoteroPane.getSelectedLibraryID()
- ZoteroPane.getSelectedGroup(asID)
- ZoteroPane.addItemFromDocument(doc, itemType, saveSnapshot)
- ZoteroPane.addItemFromURL(url, itemType)
- ZoteroPane.canEdit()
- Zotero.CollectionTreeView.selectLibrary(libraryID)
- New Zotero.URI methods
- Changed methods
- Many data object methods now take a libraryID
- ZoteroPane.addAttachmentFromPage(link, itemID)
- Removed saveItem and saveAttachments parameters from Zotero.Translate constructor
- translate() now takes a libraryID, null for local library, or false to not save items (previously on constructor)
- saveAttachments is now a translate() parameter
- Zotero.flattenArguments() better handles passed objects
- Zotero.File.getFileHash() (not currently used)
(Smith, 2006)
The database is scanned for each citation, and positioning is adjusted automatically for footnotes. Currently, this won't work with names with accents, but I'll get to that.
- makes translator progress window work a little better with translators that call Zotero.done() incorrectly, and complains when item.complete() is called after Zotero.done()
- Fix style saving from repo (updated styles were saved without .csl extension, so updates were ignored)
- Don't update from repository on every load of SVN build with missing symlinked style targets
- Remove deleted "Open Worldcat (Search)" and "Worldcat.org" translators
- fixes NCBI PubMed translator type (should be 12, since it's a search translator as well as a web translator)
- fixes a bug passing multiple translators to translate.setTranslator()
- increases priority of CrossRef translator
- makes sync animated arrow progress indicator into a general CSS class (zotero-small-progress-indicator) so that the same progress indicator can be used for lookup. if this is confusing, we could use something else instead.