Commit graph

892 commits

Author SHA1 Message Date
Dan Stillman
33de40ad95 Adds sync support for related items
Might fix (or break) other stuff, but who remembers?
2008-06-25 00:26:55 +00:00
Dan Stillman
19b08a604a Drop redundant index on fulltextWords 2008-06-25 00:22:25 +00:00
Dan Stillman
245954b876 Add extensions.zotero.dbLockExclusive pref to control SQLite exclusive locking (default true)
Set to false to allow external access while Firefox is running
2008-06-25 00:21:37 +00:00
Dan Stillman
9c0d6069f1 Speed up Ben's levenshtein() by factor of 3 by caching length properties (didn't look at algorithm itself) 2008-06-25 00:19:41 +00:00
Dan Stillman
47137121c1 Move levenshtein() and min3() into Zotero.Utilities 2008-06-23 20:33:57 +00:00
Dan Stillman
cf34397d9e Implements levenshtein as SQLite UDF
Function from Ben
2008-06-23 20:28:42 +00:00
Dan Stillman
35318a070e Add a comment pointing to Bugzilla before first use of "with ({});" 2008-06-23 16:53:04 +00:00
Dan Stillman
6f960f3e91 Fix typo 2008-06-23 16:47:41 +00:00
Simon Kornblith
0c2c8000e3 Remove globally scoped namespace declaration from cite.js (oops) 2008-06-23 16:37:08 +00:00
Simon Kornblith
ef2ff0a884 closes #1043, store EndNote® styles as binary blobs
closes #1046, Provide some indicator of whether style is originally from EndNote
will require that you re-import previously imported styles
2008-06-22 17:16:43 +00:00
Dan Stillman
4525afddc5 Addresses #1047, Timeline items not displaying for collections 2008-06-20 18:27:30 +00:00
Dan Stillman
461225ac15 Addreses #1047, Timeline items not displaying
Sean, can you verify that this fixes the problem?
2008-06-20 17:48:46 +00:00
Simon Kornblith
d8868cd9cb fixes #1030, CSL broken on trunk due to XML namespace change
closes #704, EndNote to Zotero style converter (won't actually convert styles due to copyright concerns, but will load them into the DB)
also adds CSL style manager
2008-06-20 06:40:05 +00:00
Dan Stillman
d65e75fbc9 Keep track of manually set ids (via a Notifier observer watching for 'add' events or manual Zotero.ID.skip() calls) so that subsequent calls to Zotero.ID.get() don't return them
This should fix hard-to-reproduce 'constraint failed' errors during syncing.
2008-06-19 07:46:08 +00:00
Dan Stillman
a610595b84 Fix deletion of items without tags 2008-06-18 08:58:38 +00:00
Dan Stillman
2df1e34dc2 Reverting r2892 -- not necessary 2008-06-18 08:57:46 +00:00
Dan Stillman
dd776bbb70 Use SQLite text data type for integers longer than 15 characters 2008-06-18 08:49:44 +00:00
Dan Stillman
d5eacdcbc6 Fix sync URL 2008-06-18 08:47:38 +00:00
Dan Stillman
0efeb1f26c Merged revisions 2845-2848,2850-2852,2855-2857,2860-2863,2872,2874,2879-2880 from 1.0 branch via svnmerge 2008-06-17 20:50:44 +00:00
Dan Stillman
42fa6f091f Move sync URL to ZOTERO_CONFIG array 2008-06-17 20:41:31 +00:00
Dan Stillman
35e9f3b3b7 Fix export from saved search content menu on trunk, changing ZoteroItemPane.getSortedItems() to return Item objects unless asIDs is passed (like getSelectedItems()) 2008-06-17 20:39:26 +00:00
Dan Stillman
d5756c1168 Fix tag pane refresh after adding tag to item 2008-06-17 07:08:13 +00:00
Dan Stillman
413670b09d Restore tag rename and delete
Tag comparisons are now case-insensitive, and old tags with case differences are migrated to the most-used tag or the tag linked to the oldest item
2008-06-16 20:07:17 +00:00
Dan Stillman
72b53e1b3f Don't drop all tags on DB upgrade 2008-06-16 14:55:09 +00:00
Dan Stillman
9bcdf021dd - Fixes tag editing
- Adds tag syncing
- Fixes a few other things

No tag CR yet
Requires new 1.0 DB upgrade
2008-06-16 05:46:10 +00:00
Dan Stillman
f00e5501e9 Addresses #1037, Remove Firefox 2–specific code 2008-06-11 08:57:41 +00:00
Dan Stillman
97f214c9dc Merged revisions 2710-2712,2714-2716,2718-2728,2730-2731,2734,2736-2738,2740-2750,2752-2753,2755,2758-2768,2770-2779,2782,2789-2790,2794,2797-2802,2804,2808-2810,2812,2814-2824,2826-2832,2834-2835 via svnmerge from 1.0 branch 2008-06-11 08:55:59 +00:00
Dan Stillman
24e578dd84 Addresses #378, Button's tooltip displayed for dropdown list menu items 2008-06-11 07:57:24 +00:00
Dan Stillman
00c2b14d6c Adds rudimentary Zeroconf support to Zotero (a.k.a. "Z(ot)eroconf")
- Inspired by Dan Chudnov's Python/MODS-based Zeroconf demo at THATcamp
- Enabled by extensions.zotero.zeroconf.enabled (off by default)
- Currently supports only OS X (tested on Leopard, not sure about earlier versions)
- Uses Apple's dns-sd and mDNS command-client clients, but should be able to be extended to other clients, though a native library would be far superior
- Discovery is on-demand for now via Actions menu ("Search for Shared Libraries")
- Includes rudimentary web server (code copied from integration.js) that serves items as sync XML -- no authentication yet!
- Only supports top-level items
- Remote libraries show up in left pane (under remote computer name, for now)
- Items can be dragged into collections (but not the library yet, for some reason)
- On first run, might cause a long pause and the "This file was downloaded from the Internet" message on Leopard -- can't manage to get around the quarantine for the script file that we need to access stdout from Firefox
- Needs a lot of work, and without a real JS (or otherwise Mozilla-native) Zeroconf library we can't do proper discovery without intermittent polling
- But it works, at least for me

Also includes some data/sync-layer changes that I needed along the way (and that we'll need for shared collections of any type)
2008-06-03 05:26:30 +00:00
Dan Stillman
4d03dd8d43 Moving default XML namespace declaration inside CSL objects -- this breaks CSL generation, as far as I can tell, but having the default namespace in the global scope makes dealing with E4X elsewhere very annoying
Creating a follow-up ticket to fix CSL generation
2008-06-02 21:30:01 +00:00
Dan Stillman
392c968315 Point trunk build to sync.zotero.org 2008-06-02 18:01:33 +00:00
Dan Stillman
77133f465c - Saved search syncing, with automatic latest-wins conflict resolution
- Last sync time displayed in sync button tooltip
- Various and sundry bug fixes

DB must be re-upgraded from 1.0
2008-06-02 09:15:43 +00:00
Simon Kornblith
6d9427981e closes #973, citation editor broken in FF3
(fixes a message asking the user if s/he wants to regenerate a citation when the editor has never been shown and a parameter is changed)
2008-05-31 02:51:08 +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
3d889d31e1 Zotero.ID fixes -- don't give same id twice in a session (which could happen if the set of available ids was used up before a database commit)
This might fix some sync issues.
2008-05-07 21:48:33 +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
Simon Kornblith
28d91b1309 closes #969, Export not working under FF3 2008-03-25 15:35:54 +00:00
Simon Kornblith
6f3fc70bb1 closes #944 2008-03-24 19:22:52 +00:00
Simon Kornblith
a137f979e9 closes #944, WebPageDump not working in Firefox 3 2008-03-24 18:46:13 +00:00
Dan Stillman
169630c5fe Fix progress window on Firefox 3 2008-03-02 17:20:16 +00:00
Dan Stillman
42f6ac0f9f Fixes #283, Autocomplete broken in Firefox 3, only 17 months later 2008-02-16 10:17:31 +00:00
Dan Stillman
d92e3661d5 - Added Zotero.ID.get(table) method for getting a primary key id -- it first tries to find the lowest unused integer in the PK column and falls back to using MAX() + 1 if it can't find one quickly
- Removed Zotero.getRandomID() (moved into Zotero.ID, but unused)
- Purge itemDataValues on item delete
2008-02-09 09:46:29 +00:00
Dan Stillman
25d57b8428 Revert [1615-1616] on the trunk, where they're no longer necessary 2008-02-05 11:15:53 +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
Simon Kornblith
fde19abd57 deleting on the trunk... 2008-01-03 06:46:50 +00:00
Dan Stillman
e2cb3a699a Merge r1802-1983 from branch to trunk 2007-12-02 05:45:07 +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
ba4caa7c86 Fix incorrect defineGetter line 2007-11-01 04:07:23 +00:00
Dan Stillman
34ea8ced85 Addresses #283, Minefield compatibility
Closes #285, Hitting Esc should close tags popup

Fixes various UI issues and problems adding tags on Minefield

Still getting autocomplete self-destruction
2007-10-31 00:03:06 +00:00
Dan Stillman
1159de39f6 Fix #803, A few UI alignment issues in Preferences
And streamlined some of the layout code. Used some of the changes from BZ translator (without doing away with all styling).
2007-10-30 06:52:16 +00:00
Dan Stillman
2145431468 Fix hang saving snapshots on some pages (e.g. permanent Wikipedia URLs) 2007-10-30 00:33:38 +00:00
Dan Stillman
c0ad18ee28 Fix for Case title not showing up in items list (since letter/interview change) 2007-10-29 20:31:57 +00:00
Dan Stillman
cc497c2718 Merged r1792-1793 to trunk 2007-10-26 14:44:43 +00:00
Dan Stillman
3ce9d82b00 Addresses #527, Add translators' names to install.rdf and about.xul
Up-to-date on trunk and branch
2007-10-24 09:02:23 +00:00
Dan Stillman
560ae102cb Fix spacing of larger creator type dropmarker on Windows 2007-10-24 08:55:35 +00:00
Dan Stillman
1294682120 2007-10-23 09:44:09 +00:00
Dan Stillman
35ff52f2e8 Merged 1.0 branch back to trunk 2007-10-23 07:11:59 +00:00
Dan Stillman
4fb199457d Updated link to Quick Start Guide in fresh installs with new URL and intro note 2006-10-05 22:55:50 +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
589f1a6f20 2006-10-05 18:28:50 +00:00
Dan Stillman
9a96c54118 Addresses #327, Scrapers should either take snapshots or use URL field
Use automaticSnapshots pref (which defaults to on and is changeable in the prefs window) rather than downloadAssociatedFiles (which defaults to off and is only settable through about:config at the moment) for now in translate.js

downloadAssociatedFiles should eventually be used for PDFs and other large files, whereas automaticSnapshots will be for HTML and the like -- in the meantime, I think it's OK for scrapers to just follow the visible pref for both, since otherwise they'd be totally confused when the NIFP button took a snapshot and the scrapers didn't

Simon, if there's any problem I'm not aware of with switching this for now (other than people getting some large PDFs on JStor), let me know.
2006-10-05 09:44:41 +00:00
Dan Stillman
76b7adaa05 Closes #328, View button in metadata pane should show snapshot first before using URL 2006-10-05 08:54:15 +00:00
Simon Kornblith
cbe7c086e1 closes #336, Some metadata fields are not exported with notes and attachments
closes #165, verify import/export can carry all data for all fields and item types
closes #168, make sure MODS import works with files from external sources
2006-10-05 08:45:44 +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
3919594834 New options in context menu of regular items in the item list:
Attach Snapshot of Current Page
Attach Link to Current Page

I also removed "New Item" from the context menu, as it was the only option in the menu that wasn't specific to the selected item, it made the whole menu a lot more confusing, and it doesn't take all that much longer to click the (+) button and choose Book (assuming that's even the item you want).
2006-10-05 05:56:56 +00:00
Dan Stillman
83da98f208 Added zotero.org link to About panel
Added "About Zotero..." to cog menu
2006-10-05 04:02:21 +00:00
Dan Stillman
eff310c5c9 Closes #294, Checkbox in search dialog to search subfolders recursively
Addresses #155, Localize strings

- Added "Search subfolders"

- Localized strings in search dialog

Known issue:

#342, "Search subfolders" checkbox should be greyed out until applicable
2006-10-05 02:33:39 +00:00
Dan Stillman
e2e5d59f61 Renamed Notifier.[un]register(Item|Column)Tree() to [un]register(Item|Collection)Observer(), which is more accurate 2006-10-05 01:25:36 +00:00
Dan Stillman
cd26267afe Closes #340, Change isInstitution to fieldMode everywhere
Including in the DB, which it turns out isn't really all that bad (thanks, among other things, to SQLite's ability to DROP tables within transactions without autocommitting (which MySQL can't do))
2006-10-05 00:59:26 +00:00
Dan Stillman
74dbdec49b Renamed user.js to userdata.js 2006-10-04 23:37:15 +00:00
Dan Stillman
088027d640 Added automaticSnapshots pref, and changed Create New Item From Current Page button to obey pref
At least some scrapers (NYT and WashPo, for sure) should be updated to follow this pref

Addresses #327, Scrapers should either take snapshots or use URL field
2006-10-04 22:59:07 +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
f9c387e09b Fixes #211, Creator drop-down should have a little arrow to indicate it's a menu
Changed creator type <label> to <toolbarbutton> -- hopefully won't have any ill effects with other platforms' default themes (I haven't checked)

Moved some metadata pane CSS from overlay.css to zotero.css
2006-10-04 08:53:24 +00:00
Dan Stillman
5c6fcf8e28 Closes #330, Attachment title should be editable
Currently uses an annoying popup window, since the code used in the regular metadata pane has too much baggage to use here -- it really should be abstracted into an XBL binding, but that won't be an easy feat

Also fixes SQL error opening popup notes and JS strict warnings when saving them
2006-10-04 06:57:49 +00:00
Dan Stillman
47b765121f Restore original value in metadata fields when hitting Esc (I think it used to do this correctly and I broke it at some point)
Don't try to convert accessDate if it's blank

Restore autocomplete on tags
2006-10-04 03:00:10 +00:00
Dan Stillman
7cee5b3b60 Fixes #333, Access date needs special handling in item pane for webpage item type
- Currently requires user to enter dates in SQL format if they want to change the access date, but at least it doesn't mangle the dates anymore

- Uses new function ScholardammitZotero.Date.dateToSQL(Date date [, Boolean toUTC])

- Utilities.lpad() now forces _string_ to a string so that .length exists

- Unrelated: Item.save() now returns false if the item didn't change
2006-10-04 00:47:55 +00:00
Simon Kornblith
92620afa52 fix a couple of rather inconsequential small bugs 2006-10-04 00:31:29 +00:00
Simon Kornblith
ac50ab16a2 Scholar -> Zotero (thanks Dan S.) 2006-10-04 00:10:35 +00:00
Dan Stillman
c08a82e831 Use "CURRENT_TIMESTAMP" (as a string, which Item.save() turns into the SQL keyword) in Translate._itemDone() rather than toLocaleString() 2006-10-03 23:16:48 +00:00
Dan Stillman
c5adecb6e7 Update Item.toArray() to properly handle new note and attachment metadata -- it now adds 'note' for embedded notes in attachments and just calls toArray() recursively to grab URL, accessDate, etc.
(I don't know if the export system will handle this properly or not.)
2006-10-03 22:48:40 +00:00
Simon Kornblith
56e77619c4 closes #334, Washington Post scraper shouldn't include " - washingtonpost.com" in title
closes #313, Blacklist known ad sites from scraper detection
closes #306, some New York Times ads prevent page from being recognized
closes #308, attachment import bug

currently, the ad site blacklist is located at the top of ingester/browser.js. at some point, we may want to switch this to a database table.
2006-10-03 22:13:49 +00:00
Simon Kornblith
03e9dc5ae5 closes #305, add conditionals/quotes to CSL
addresses #327, Scrapers should either take snapshots or use URL field
closes #309, Integration server prevents Zotero from loading in multiple instances of Firefox
2006-10-03 21:05:48 +00:00
Dan Stillman
5da77cf7ee 2006-10-03 20:48:41 +00:00
Dan Stillman
49a8d68e60 Fixes #310, active focus remains with zotero pane closed
Plus a couple JS strict warnings
2006-10-03 19:09:21 +00:00
Dan Stillman
eb94d648d7 Closes #300, when a webpage snapshot is selected in "related" tab, disk icon appears 2006-10-03 16:25:16 +00:00
Dan Stillman
c02755cb59 JS strict warning 2006-10-03 16:05:43 +00:00
Dan Stillman
9f959bf3e0 Display and save multiple-field selections in the creator autocomplete
In other words, show both "Shakespeare" and "Shakespeare, William" in the drop-down, and if the latter is chosen, save both fields

One issue is that since the autocomplete is by default limited to the width of the textbox, longer entries get truncated (though you can see them with a mouseover), and that may not be easy to fix.
2006-10-03 08:38:49 +00:00
Dan Stillman
044aea0fad Fix for access date on links and snapshots displaying as UTC (thanks Dan C.) 2006-10-03 04:25:23 +00:00
Dan Stillman
3a107a2c7c Bug in pref pane position change warning 2006-10-03 04:18:53 +00:00
Dan Stillman
c97b4b0bc0 OK, this might be it, assuming I got the build script right 2006-10-03 00:29:42 +00:00
Dan Stillman
b5ad390070 Not done yet 2006-10-02 23:46:36 +00:00