Commit graph

50 commits

Author SHA1 Message Date
Simon Kornblith
39c86a791e Use Zotero.debug() instead of dump() in WPD 2012-02-05 18:46:49 -05:00
Dan Stillman
14bb52a43f Replace a couple more nsITimer calls 2011-12-08 01:35:24 -05:00
Dan Stillman
b916935256 Replace direct nsITimer call with setTimeout() 2011-12-08 01:28:57 -05:00
Simon Kornblith
cd4f9e7235 Save application/xhtml+xml using WebPageDump
Fixes http://forums.zotero.org/discussion/18808/bug-snapshot-of-page-produces-xml-parsing-error/
2011-07-20 13:31:18 +00:00
Dan Stillman
51f8c11ea0 Switch client code license to Affero GPL version 3 2011-05-18 18:34:22 +00:00
Simon Kornblith
3ab09692a2 don't throw if callback is not passed to importFromDocument 2011-03-17 18:48:53 +00:00
Simon Kornblith
496b4b6f45 Add "Save to Zotero" option to unknown content type dialog. This is probably not for 2.1. 2011-03-07 17:47:01 +00:00
Dan Stillman
5e1c1bd5b3 Remove Zotero.wait() from previous commit 2010-03-16 23:57:26 +00:00
Dan Stillman
3bb221b5e3 Add Zotero.wait() to file size calculation during sync to attempt to avoid unresponsive script warning 2010-03-16 22:45:43 +00:00
Dan Stillman
50e100ec82 Stored files with '%' in filename couldn't be found on Windows -- now, on all platforms, filter imported filename (after first trying to URL decode, just to be nice) 2010-02-08 17:56:43 +00:00
Dan Stillman
9193ab3e62 - Fix Zotero crash attempting to index an unindexable link attachment twice
- Log error on index failure, and include note about filenames with extended characters if applicable
2010-01-27 09:47:08 +00:00
Dan Stillman
529799a28f Files with spaces were saved via Create New Item from Current Page with '20' in them (stripped from '%20') -- filenames now have proper spaces 2010-01-21 20:25:10 +00:00
Dan Stillman
94e279e034 ECL 1.0 -> GPLv3 2009-12-28 09:47:49 +00:00
Dan Stillman
31943dfba7 - If snapshot pref is off or toggled off, save web page item for open PDF via Create New Item from Current Page rather than standalone PDF attachment
- When saving open PDF via CNIfCP, select in items list (after a currently unavoidable one-second delay)
2009-11-23 10:40:24 +00:00
Dan Stillman
36a876021d - Fix error when dragging item with missing child attachment to another library
- Fix another cross-library problem (which may or may not have been exposed) that showed up in testing
2009-10-08 19:28:59 +00:00
Dan Stillman
020553607d - Double-clicking an item without a URL didn't open child attachment
- Fixed various issues with adding/dragging files/links to group libraries
2009-09-16 09:23:57 +00:00
Dan Stillman
97b2aff10a Fix erroneous "You cannot add files to the currently selected library." message when trying to store a file in a group library 2009-09-16 04:12:21 +00:00
Dan Stillman
401f766e9a - Fix broken charset detection and full-text indexing during import on trunk
- Fix collection refresh after import
2009-09-14 06:13:04 +00:00
Dan Stillman
884e5474fe Zotero File Storage megacommit
- 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.
2009-09-13 07:23:29 +00:00
Dan Stillman
9feadb8f42 Remove HEAD requests to determine MIME type from Zotero.Attachments.linkFromURL(), since they triggered during imports and the UI code doesn't use that method anymore anyway 2009-08-08 18:18:49 +00:00
Dan Stillman
70ebccc827 Fix for file attachment links being broken after renaming file 2009-07-27 22:45:07 +00:00
Dan Stillman
cd1ac2e802 Use base-mapped date field in rename format string 2009-06-04 19:22:45 +00:00
Dan Stillman
63586518df - Add "Rename File[s] from Parent Metadata" context menu option to child file attachments, using extensions.zotero.attachmentRenameFormatString
- Only rename attachment title if it was already identical to filename

Somebody should probably test this.
2009-06-04 09:34:43 +00:00
Dan Stillman
5b7923c71d - Update file mod time when renaming so that new names sync
- Display file timestamp in conflict resolution box
2009-06-02 08:20:41 +00:00
Dan Stillman
017342a85e Fix Open/Save dialog and use of hidden browser when saving file types not handled natively using "Save Link as Zotero Snapshot" or drag-and-drop to create a standalone item
This need testing.
2009-05-28 09:52:52 +00:00
Dan Stillman
ad14b44335 Additional safeguard in Zotero.Attachments.getStorageDirectory() 2009-05-21 15:23:50 +00:00
Dan Stillman
b8599d0414 Add a safeguard into Zotero.Attachments.getStorageDirectory(itemID) to make sure it returns an actual item directory 2009-05-21 14:27:36 +00:00
Dan Stillman
3e7995fee5 Workaround for "mimeType is undefined" import error 2009-05-14 18:39:35 +00:00
Dan Stillman
91459f95f7 2.0b3 megacommit
- 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)
2009-05-14 18:23:40 +00:00
Simon Kornblith
65cb00e26b FF3.5 fixes for attachment and file operations 2009-04-30 00:52:48 +00:00
Dan Stillman
0208806a95 Better fix for invalid HEAD responses -- Wiley was returning 405 on HEAD even for GETs that succeeded, so we're not just leaving the MIME type blank if the HEAD response is rejected
Also made the 'pdf' match check a bit more flexible -- now can be the end of the last segment or the query string and not just the extension
2009-01-15 21:40:15 +00:00
Dan Stillman
a1277ccaa9 Bail on attachment save if HEAD request returns a status code other than 200 or 204 2009-01-15 04:24:10 +00:00
Dan Stillman
337b16361a Merge [3617-3838] from branch to trunk 2008-11-30 20:18:48 +00:00
Dan Stillman
49a7537fa6 Much improved storage syncing (theoretically)
Metadata sync now always runs before storage sync, and file transfers can be stopped.

Needs testing
2008-11-29 14:13:29 +00:00
Dan Stillman
a24200b30c Imported snapshot path wasn't being set properly 2008-10-30 19:57:51 +00:00
Dan Stillman
f37d724a9e Merged revisions 3080-3081,3084,3087-3088,3090,3092,3099-3103,3113-3114,3132,3134-3143,3145,3148-3151,3154-3159,3165,3174,3194,3234-3235,3239-3240,3244,3246-3254,3258-3262,3268,3270,3274,3279,3286-3288,3294-3295 from 1.0 branch via svnmerge 2008-09-01 01:54:00 +00:00
Dan Stillman
a8bb8dae40 Adds WebDAV file sync
- Still experimental and incomplete, with no lock support and not much error handling

Also:

- New expiry date for sync functions
- Attachment character set was being dropped during syncing
- Possibly improves sizing issues with preferences window
- Fixes problems with attachment filenames with extended characters
- Fixes some problem with tags that I don't remember
- Makes XMLHTTPRequest calls are now background requests (no auth windows or other prompts)
- Z.U.HTTP.doOptions() now takes an nsIURI instead of a URL spec
- New methods:
  - Zotero.Utilities.rand(min, max)
  - Zotero.Utilities.probability(x)
  - Zotero.Utilities.Base64.encode(str) and decode(str)
  - Zotero.getTempDirectory()
  - Zotero.Date.dateToISO(date) - convert JS Date object to ISO 8601 UTC date/time
  - Zotero.Date.isoToDate(isoDate) - convert an ISO 8601 UTC date/time to a JS Date object
2008-08-31 23:36:01 +00:00
Dan Stillman
7637434a2a Fix error saving imported attachments on trunk (since r3178) 2008-08-14 17:58:45 +00:00
Dan Stillman
fa82b66c9f Fix error in Zotero.Attachments.importFromDocument() 2008-08-12 07:13:04 +00:00
Dan Stillman
012229552e Closes #1036, Migrate storage directory folders to secondary keys
Also moves orphaned directories into orphaned-files folder in data dir

Safety first: Keeps track of moved files, moving them back if there's an error before the end of the upgrade process (since the keys are generated randomly and would be different if recreated), and creates a zotero.moved-files.36.bak file with a list of id/key pairs
2008-06-25 22:27:35 +00:00
Dan Stillman
6408762b12 Merged revisions 2640-2647,2651,2653-2654,2656-2658,2660-2667,2670-2672,2674-2677,2680,2683-2684,2687-2704,2707 to trunk via svnmerge from 1.0 branch 2008-05-16 09:14:11 +00:00
Dan Stillman
416f023384 Merged revisions 2190-2192,2194,2196-2199,2202-2205,2209,2212,2214-2215,2227-2228,2230,2232-2243,2245,2247-2256,2263-2272,2276,2278-2279,2281,2284-2286,2292,2296-2297,2299-2302,2304-2305,2309-2310,2314,2317-2323,2325-2329,2331-2337,2339,2341-2342,2344,2347-2366,2370-2371,2373-2377,2379-2391,2393-2402,2405-2410,2413,2415-2416,2418,2420-2421,2423,2427-2429,2431-2433,2437,2440-2441,2443-2450,2453,2455-2459,2461-2467,2471,2475-2480,2482-2490,2493,2495-2499,2501-2506,2511,2513-2519,2521,2525-2536,2540,2543-2553,2555-2559,2561-2576,2578,2580-2603,2606-2609,2611-2616,2618-2620,2624-2630,2632-2633 to trunk via svnmerge from 1.0 branch 2008-05-05 07:19:34 +00:00
Dan Stillman
3de1789f26 Initial Zotero 1.5 Megacommit
Apologies for the massive (and, due to data_access.js splitting, difficult-to-follow) commit. Please note that external code that accesses the data layer may need to be tweaked for compatibility. Here's a comprehensive-as-possible changelog:

- Added server sync functionality (incomplete)
- Overhaul of data layer
  - Split data_access.js into separate files (item.js, items.js, creator.js, etc.)
  - Made creators and collections first-class objects, similar to items
  - Constructors now take id as first parameter, e.g. new Zotero.Item(1234, 'book'), to allow explicit id setting and id changing
  - Made various data layer operations (including attachment fields) require a save() rather than making direct DB changes
  - Better handling of unsaved objects
    - Item.setCreator() now takes creator objects instead of creator ids, and Item.save() will auto-save unsaved creators
    - clone() now works on unsaved objects
  - Newly created object instances are now disabled after save() to force refetch of globally accessible instance using Zotero.(Items|Creators|etc.).get()
  - Added secondary lookup key to data objects
  - Deprecated getID() and getItemType() methods in favor of .id and .itemTypeID properties
  - toArray() deprecated in favor of serialize(), which has a somewhat modified format
  - Added support for multiple creators with identical data -- currently unimplemented in interface and most of data layer
  - Added Item.diff() for comparing item metadata
- Database changes
  - Added SQLite triggers to enforce foreign key constraints
  - Added Zotero.DB.transactionVacuum flag to run a VACUUM after a transaction
  - Added Zotero.DB.transactionDate, .transactionDateTime, and transactionTimestamp to retrieve consistent timestamps for entire transaction
  - Properly store 64-bit integers
  - Set PRAGMA locking_mode=EXCLUSIVE on database
  - Set SQLite page size to 4096 on new databases
  - Set SQLite page cache to 8MB
  - Do some database cleanup and integrity checking on migration from 1.0 branch
  - Removed IF NOT EXISTS from userdata.sql CREATE statements -- userdata.sql is now processed only on DB initialization
  - Removed itemNoteTitles table and moved titles into itemNotes
- Abstracted metadata edit box and note box into flexible XBL bindings with various modes, including read-only states
- Massive speed-up of item tree view
- Several fixes from 1.0 branch for Fx3 compatibility
- Added Notifier observer to log delete events for syncing
- Zotero.Utilities changes
  - New methods getSQLDataType() and md5()
  - Removed onError from Zotero.Utilities.HTTP.doGet()
  - Don't display more than 1024 characters in doPost() debug output
  - Don't display passwords in doPost() debug output
- Added Zotero.Notifier.untrigger() -- currently unused
- Added Zotero.reloadDataObjects() to reset all in-memory objects
- Added |chars| parameter to Zotero.randomString(len, chars)
- Added Zotero.Date.getUnixTimestamp() and Date.toUnixTimestamp(JSDate)
- Adjusted zotero-service.js to simplify file inclusion

Various things (such as tags) are temporarily broken.
2008-05-04 08:32:48 +00:00
Dan Stillman
200cca74a6 Merged revisions 1986,1988-1990,1996,1998,2000-2004,2006,2008-2010,2013,2020-2028,2032-2034,2037,2039,2044-2049,2052-2056,2059,2065-2066,2068-2072,2075,2077-2079,2081,2083-2084,2086,2088-2094,2096,2099,2101,2103-2104,2107-2110,2115,2118,2120-2122,2126-2128,2131,2140,2142-2145,2149-2153,2155-2159,2165,2167-2168,2170-2171,2173-2176,2179-2183,2185-2186 via svnmerge from
https://www.zotero.org/svn/extension/branches/1.0
2008-01-30 09:53:19 +00:00
Dan Stillman
70b10ea320 Fix error saving snapshots of files not handled natively by Firefox (except PDFs) 2007-11-03 18:42:06 +00:00
Dan Stillman
35ff52f2e8 Merged 1.0 branch back to trunk 2007-10-23 07:11:59 +00:00
Dan Stillman
c59dcdc0a6 New item types, fields, creator types, and the glue to make them work
If anyone's out there, now would be the time to test this.

Missing icons for the new types -- I could try to get some of those now, or we could just launch. Maybe we'll just launch. But really, might want to test this. Just sayin'.
2006-10-05 22:27:29 +00:00
Dan Stillman
c6ae132bd3 Return itemID from linkFromURL() when it doesn't have to do a HEAD request; true otherwise 2006-10-05 06:23:44 +00:00
Dan Stillman
026b37169a Closes #63, Add ECL license info to source code
Added on all non-trivial files -- be sure to copy over XML or JS version as appropriate for new files
2006-10-04 17:16:56 +00:00
Dan Stillman
b5ad390070 Not done yet 2006-10-02 23:46:36 +00:00
Renamed from chrome-temporary/chromeFiles/content/zotero/xpcom/attachments.js (Browse further)