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)
This commit is contained in:
parent
4d03dd8d43
commit
00c2b14d6c
16 changed files with 859 additions and 56 deletions
|
@ -16,11 +16,11 @@ var ZoteroWrapped = this;
|
|||
|
||||
var xpcomFiles = [ 'zotero',
|
||||
'annotate', 'attachments', 'cite', 'cite_compat', 'collectionTreeView',
|
||||
'data_access', 'data/item', 'data/items', 'data/collection', 'data/collections',
|
||||
'dataServer', 'data_access', 'data/item', 'data/items', 'data/collection', 'data/collections',
|
||||
'data/cachedTypes', 'data/creator', 'data/creators', 'data/itemFields',
|
||||
'data/notes', 'data/tags', 'db', 'file', 'fulltext', 'id', 'ingester', 'integration',
|
||||
'itemTreeView', 'mime', 'notifier', 'progressWindow', 'quickCopy', 'report',
|
||||
'schema', 'search', 'sync', 'timeline', 'translate', 'utilities'];
|
||||
'schema', 'search', 'sync', 'timeline', 'translate', 'utilities', 'zeroconf'];
|
||||
|
||||
for (var i=0; i<xpcomFiles.length; i++) {
|
||||
Cc["@mozilla.org/moz/jssubscript-loader;1"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue