From 1.0.82:
Fixes to cs:if and cs:else-if logic. Was failing to set the match
attribute on singleton nodes, among other things.
Treat greek letters as part of the "romanesque" character set, for
name formatting purposes.
If cs:number input has numbers separated by spaces, but also
extraneous non-comma, non-ampersand, non-hyphen characters, then
render as literal.
From 1.0.83:
Use en-dash rather than hyphen in formatted page range joins.
From 1.0.84:
Preserve explicit double spaces in HTML output.
From 1.0.85:
Pass full suite of double space suppression tests.
Language switching within a style works, for both localized dates and
terms. (This functionality is not yet valid in CSL.)
From 1.0.86:
Address bug that caused unreasonable delays with large namesets.
From 1.0.87:
Where et-al-min, et-al-subsequent-min or names-min are set to some
value larger than zero, and the number of names in a nameset exceeds
an arbitrary threshold of 50, truncate author lists that are longer
than the *-min value (plus a buffer value of 2), to raise performance
to a reasonable level with large namesets.
From 1.0.88:
Adjustments to language condition logic, to use only the base language
name for matching, while applying the full locale specified in the
conditional to node children.
Refinements to the recently introduced handling of brace-enclosed
leading characters as initialized form of names.
Adjustments to print statement arbitration, with a view to playing
nice with various systems.
- Fix "myxml.localName() is null" when using dates on non-base locales
Thanks to Frank for dealing with my pestering regarding locale behavior.
From citeproc-js 1.0.78:
Enable the proper parsing and rendering of seasons in ranged dates, in
the internal dates parser.
From citeproc-js 1.0.79:
Correct fault in locale fallback behavior. Had been ignoring optional
default argument set in the processor.
From citeproc-js 1.0.80:
More fixes to locale selection behavior.
Provide a toggle to override the locale of a style with the locale set
on the processor at runtime.
From citeproc-js 1.0.81:
Yet more fixes to locale selection logic. Now uses en-US as ultimate
fallback, for any missing terms or missing locales.
- fix issues with RTF export of brackets
From 1.0.71:
Variables (including names) should be (and have been) suppressed when
rendered via the cs:substitute node of cs:names. Prior to this patch,
however, citeproc-js was unconditionally suppressing name variables
after their first use within a given cite, and this behavior differed
from the Zotero CSL 0.8.1 processor. This patch restores the original
behavior, allowing names rendered outside of cs:substitute to be used
repeatedly within a cite. (The only exception to this behavior is a
name rendered with et-al-min=1 and et-al-use-first=1, which will be
clipped from subsequent output within the same cite.)
The processor was using the localized close-inner-quote character for
apostrophes. This caused problems in styles that use alternative
quotation marks. The processor now uses a hard-coded apostrophe
character for apostrophes.
A bug in the normalization of names, for disambiguation purposes, that
contain punctuation or extraneous spaces has been fixed.
From 1.0.72:
Allow simple range, comma, and ampersand joins in the input to
cs:number, to permit "1st-2nd", "xi-xv", etc. When multiple numbers
are given, the following operations are performed: (1) ranges are
expanded and the numbers are converted to a list; (2) the resulting
list is sorted; (3) duplicates are eliminated; (4) ranges are
truncated; (5) numeric formatting is performed; and (6) appropriate
punctuation is applied to the result. (As of this writing, the use of
multiple numbers with cs:number is not covered by the CSL 1.0
specification, so this is an anticipatory change. It is consistent
with the CSL 1.0 schema, however, and does not have any effect on
single input numbers. Production use of multiple number, issue,
volume, and edition variables should await the formal approval of a
CSL 1.0 schema change to allow the use of these variables with
cs:label, for contextual pluralization of any associated label.)
Eliminate space following a trailing apostrophe on a dropping-
particle, when immediately followed by the family name part in
rendered output.
Recognize multiple parameters to a position attribute on cs:if and
cs:else-if, per the CSL 1.0 schema. For the fix, we eliminate cutted-
and-pasteded code from node_if.js and node_elseif.js, and consolidate
all position node-level position logic in attributes.js.
From 1.0.73:
Limit the recognition of multiple numbers to cases in which they are
separated by at least one space, to prevent the accidental
reformatting of things like "Document no. 1-3752,42".
From 1.0.74:
Recognize new Khmer locale for CSL provided by Hem Sras.
When parsing number ranges in the input to cs:number, abort parsing
when spread of range is over an arbitrary limit of 1000.
Support names-use-last attribute on cs:key. (Anticipatory change to
support upcoming change to CSL schema and specification.)
Use unicode ellipsis character rather than (nonexistent) locale term
when splicing author listings trucated with et-al-use-last.
From 1.0.75:
Do not apply decorative formatting to name suffixes.
Fix breakage in ordinal suffix formatting for days in a date.
For an all-lowercase name suffix (such as an explicit "et al."),
exclude the suffix from the name for disambiguation purposes, and
include it in the strict short form of the name in the short form of a
citation.
Add and recognize delimiter-precedes-et-al attribute, in line with
draft CSL proposal.
Implement grammatical gender sensitivity for ordinal suffixes, in line
with draft CSL proposal.
From 1.0.76:
Fix bug in locale processing, arising from the previous release, that
could trigger a processor crash.
From Frank's release notes for 1.0.69:
Suppress a leading prefix character that is nested at an arbitrary
depth on the subsequent sibling hierarchy of the current output blob
object, where it would result in duplicate punctuation in the
flattened output.
Fix over-aggressive suppression, on subsequent items, of variables
that are called through cs:substitute (and are therefore suppressed
within the current item).
Define print statement conditionally, following suggestions from
Carles Pina and Fergus Gallagher.
Limit suppression of a year that is identical to the volume number
only for cites in which volume and container-title are both rendered,
and volume precedes container-title. Suppression allows legal cites
such as The King v. Lockwood, 99 Eng. Rep. 379 (K.B. 1782) and
Hastings v. Perkins, 1930 P. 217 (Eng. C.A.) to be handled with a
single item type and without resorting to presentation toggles in the
input data. Limiting suppression to cites in which a rendered volume
precedes a rendered container-title prevents this behavior from
corrupting other citation forms.
From Frank's release notes for 1.0.70:
Adopt conventions from Chicago 16th ed. for commas that follow
terminal punctuation in user content fields such as title.
- fix attachment export/import
- make Translator return a copy of displayOptions or configOptions objects
- adjust file export functions for above change
- Translators now use configOptions and displayOptions properties in their metadata instead of Zotero.configure() and Zotero.addOption() to specify interfaces.
- Replaced now broken Zotero.Utilities.inArray() appearances in MODS.js with proper indexOf() calls
From Frank's release notes:
Further refactoring of output queue mechanism, to unify all quote-
swapping and detection code for duplicate terminal punctuation and
spaces in a single function. No changes to behavior, unless there is
a hole in the test suite somewhere.
Fix an output nesting mismatch error triggered by items with two
institutional authors in sequence, when rendered with a style that
sorts on the bibliography.
In the output queue mechanism, fix a bug in the migration of a leading
terminal character in a prefix to the preceding sibling suffix.
From Frank's release notes:
Reimplement duplicate terminal punctuation handling in new
adjustPunctuation() function. Remove old functions used for this
purpose, which were excessively complex and fragile. Some operations
in queue.js may now be redundant, since the new code does a much
better job of cleaning up the output queue in advance of
serialization.
Clears some remaining duplicate punctuation issues.
Corrects errors in the placement of punctuation where multiple
terminal punctuation marks span a formatting boundary (i.e. italics,
boldface, etc.).
- Zotero.Utilities is now a singleton
- Zotero.Utilities.HTTP is now Zotero.HTTP
- Zotero.Utilities.md5 and Zotero.Utilities.Base64 are now located under Zotero.Utilities.Internal
- Zotero.Utilities.AutoComplete has been eliminated
This needs testing to make sure there is no associated breakage.
this won't work if a web/search translator wants to call getTranslatorObject on another web/search translator, but that doesn't happen at the moment, so it should sufficie
from Frank's announcement:
Adjustment to the conditions controlling the tainting of entries
carrying year-suffix values.
Avoid redundant application of year-suffix values during
disambiguation.
Provide a default "institution" format blob on the output queue, to
avoid a processor crash with lone institutional author names.
From Frank's release notes:
citeproc-js 1.0.64:
This release just pulls through the actual changes described in 1.0.62
and 1.0.63.
Apologies for any confusion this caused.
citeproc-js 1.0.65:
Do not needlessly circumvent name disambiguation logic. Reverses a
patch introduced in the 1.0.61 through 1.0.64 series of changes.
Apply the concise and correct fix for the undefined-in-name bug
previously addressed by the 1.0.61 through 1.0.64 series of releases.
Just replacing an undefined variable with an empty string does the
trick.
Force an initialized name that lacks an explicit string value on
initialize-with to full form, but only when using the by-cite
disambiguation rule.
Permit update of year-suffix when it is added, in addition to when it
exists and then changes.
Protect against an undefined value in updateItems(), which can
apparently sometimes occur in the course of word processor plugin
transactions.
Map page-first variable to page when snooping for a value. Prevents a
lone page-first cs:text node within a cs:group from being suppressed
for lack of output.
Repair recently amended appendCitationCluster() command to return a
list of paired values, in accordance with the processor manual.
Extend restoreProcessorState() to work with an empty argument, for
resetting the processor to a pristine state (for use case suggested by
Carles Pina).
Form Frank's release notes:
citeproc-js 1.0.63:
Fix appendCitationCluster() to return a simple string, and required by
Zotero RTF Scan or any similar utility.
citeproc-js 1.0.62:
Block needless initialization of names where
the full name is requested and initialization
is not.
citeproc-js 1.0.61:
Block needless initialization of names where
form is long, no initialization is requested,
and last names are identical.
citeproc-js 1.0.60:
Turn on the parsing of name prefixes and
suffixes by default.
(This change should make CSL 1.0 name prefix
and suffix handling designed by Rintze Zelle
available to existing applications, without complex
changes to the user interface.)
From Frank's announcement:
Extend punctuation swapping to cases
where quotes entered within a locator.
Implement context-sensitive pluralization
of labels.
Fix bug affecting givennames with more
than two words when rendered in full
form without initialization.
Fixes et al. behavior affecting some
mixed personal and institutional name
combinations.
From Frank's release notes:
citeproc-js 1.0.54:
- Fix misplacement of labels that (should) appear before the
nameset to which they apply.
citeproc-js 1.0.55:
- Fix bug that triggered "registry[id] undefined"
error in some disambiguation operations.
- Fix bug affecting voluntary suppression
of small caps in rich text parsing engine.
- Add methods for setting multilingual
transliteration, translation, and sort
parameters on configured processor.
citeproc-js 1.0.56:
- Distinguish between transliterations of
(personal) names and transliterations of
titles in recently-added multilingual
configuration methods.
citeproc-js 1.0.57:
- Correctly handle singleton conditional nodes (if and else-if).
- Check getDisplayTitle() in pre-upload title check
- Use display title for ZIP filename, and run through getValidFileName()
- Use display title in URI
- Fix collection creation
- Don't display alerts for errors retrieving bucket contents, since IA returns various errors for a while after bucket creation
In this release:
Fix a subtle bug that caused full author names to
be erroneously rendered in citations although the
style parameters did not permit them.
- Fix encoding issues with uploaded files
- Use a more reliable method of generating the file list that doesn't depend on IA filename sanity
- Get user display name from and prepend slugify()'ed version to bucket names (still including "zc-test-" for now)
- Reload bucket on bucket click if not loaded in the last 60 seconds
- Add "Show Original" button to Commons metadata pane to switch back to original linked item, if it exists
- Hide metadata pane tabs in Commons view
- Add support for setting credentials via zotero.org (untested, and not yet stored in Fx login manager)
Also:
- Add ZoteroPane.getItemGroup() function
closes#1709: [patch] citeproc-js 1.0.51 compatibility patch: makeBibliography() return value
closes#1712: [patch] citeproc-js 1.0.52 compatibility patch
From Frank's notes for 1.0.52:
In this release, the following change may require accomodation
within the calling application:
The processor quashes double spaces in the output.
RTF control words can be terminated with a space, but
this causes an immediately following space to be lost
from the output. To avoid this, the RTF output mode of
the processor has been adjusted to terminate RTF control
words with {} rather than space. Applications that convert
processor output between other formats (such as HTML)
may need to be adjusted to accomodate this new behavior.
Also in this release:
Reverse the RTF-related conservatism in the quashing
of duplicate spaces that was introduced in 1.0.51.
Add missing parens to suspect test condition (not
related to any known bug).
From Frank's notes for 1.0.51:
The API return value changes slightly with this version:
For styles that have no bibliography element, the command
makeBibliography() now returns false, rather than a
stub bibliography object. Code adjustments in the
calling application may be required to accommodate
this change in behavior.
In other bibliography and citation returns, the processor
now provides new arrays, bibliography_errors and
citation_errors respectively, with information on
bibliography entries or cites that produce no meaningful
rendered output. Details are in the processor manual:
http://gsl-nagoya-u.net/http/pub/citeproc-doc.html#handling-items-with-no-rendered-form
Also in this release:
Fix string breakage affecting text-case="title".
Fix over-aggressive quashing of spaces, which affected
spacing following RTF entities.
this currently leaks a hidden browser object, since deleting it seems to cause the print command to fail. this may not be a big issue, since this feature is used so rarely anyways...
From Frank's announcements:
In 1.0.45:
Fix duplicate terminal punctuation
affecting bibliography output.
Eliminate dereferencing assignments, for
compatibility with some JS implementations.
Suppress duplicate spaces affecting some
styles.
In 1.0.46:
Add option to updateItems() and updateUncitedItems()
to suppress sorting of the bibliography.
In 1.0.47:
Fix a duplicate space issue.
General refactoring of code for identifying an quashing
duplicate punctuation and spaces. The code should be
easier to control when further issues involving punctuation
arise down the road.
Provide for replacement of the citation number in
numbered styles with a slug, so that strings in a
bibliography listing can be used in a template
without rerendering. This is useful in some server-side
applications.
In 1.0.48:
Permit author to vary between parallel citations. Useful
for French case-and-commentary string cites.
Permit author to vary between parallel citations. Useful
for French case-and-commentary string cites.
Fix bug in short form title support.
Further fixes to quashing of duplicate punctuation
and spaces.
Fix issues with bibliography slug.
Provide for parsing experimental variables out of the
content of the note variable. For use in advance
testing of styles that require changes to the variables
available in CSL, or supplied by the calling application.
In 1.0.49:
Extend support for "parallel" legal citations to include
case and comment string citations used in French legal
writing.
Fix XML parsing code in xmldom.js to screen XML comments
from the processor. Thanks to Carles Pina for reporting
this fault (relevant to non-Firefox, non-gecko browsers).
Tighten up conditions for suppression of the trailing year
where the volume number and the year have the same value.
Suppression will no longer occur when the rendered date
contains additional details (day, month).
Throw a more meaningful error when an invalid locale
is requested. Thanks to Carles Pina.
Fix missing definition of quotes="false" in formats.js.
Thanks to Carles Pina.
Fix bug in handling of capitalized characters used in
citeproc-js hackaround for multi-character initials.
In 1.0.50:
Apply output-mode-specific text_escape function to
affixes and delimiters.
Strip XML declaration from CSL and locale strings
received for parsing in the xmldom.js module.
Add paranoia fallback to handle comment nodes that
sneak past the XML parser.
also adds a parameter to disable proxy redirection by domain (although if I had known how much work would be involved in implementing this before I started, I wouldn't have bothered)
The problem here was that entities weren't properly being encoded as Unicode RTF when the editor was used, because TinyMCE was replacing high characters with HTML entities that were not properly decoded. This is now fixed.
- Creating buckets not yet supported
- Some now-unused single-item-per-bucket code still needs to be removed
- Child attachments are not displayed in Zotero Commons pane
- Manual refreshing via bucket right-click (or a Firefox restart) is currently necessary after adding items
- Double-clicking bucket takes you to bucket page; double-clicking item takes you to named anchor
From 1.0.39:
Fix a tiny bug that could cause erroneous position values when
previewing under some circumstances, resulting in an incorrect
cite form in preview, and a different (although correct) cite form
in the document.
From 1.0.40:
Avoid update to position data of other citations during
previewing. On-the-fly updates of related citations upon
citation edit or insert following preview were broken, but
should now work correctly.
From 1.0.41:
Reset processor's internal last_name_rendered variable,
to prevent previous runs of the processor from affecting
bibliography output.
From 1.0.42:
Provisional implementation of ellipsis truncation for
creator listings as required by APA 6th, in anticipation
of upcoming point release of CSL schema and specification.
From 1.0.43:
In test.py, change the -E bundled code dump option to -Z,
and describe as a Zotero bundle option in script help messages.
Include an assignment of CSL.error to Zotero.debug in the Zotero
bundle, so that error messages and warnings from the processor will
pass through correctly, without crashing the processor.
Render literal passthrough strings on date objects only when
the year is included among the requested date elements.
Add temporary code to normalize the structure of some date
input objects.
(... and so we bid a sad farewell to the Meaning of Life
release.)
From 1.0.44:
According to the CSL specification, group elements implicitly
suppress output of term= and value= text elements, if at least
one element (text, number, names or date) with a variable=
attribute is in the group, and no such element will produce
output. This provides a flexible and concise syntax for
attaching customized labels to rendered elements. An earlier
version of citeproc-js always rendered empty dates as the short
form of the "no date" term ("n.d."). Experience showed this was
undesirable, and the behavior was withdrawn. However, the
code that reported date elements as always producing output
lingered on, and it was the cause of incorrect output in recent
testing. This has been corrected in this release.
This release also correctly reports dates with only a literal (non-
parsed) form as non-empty to the same implicit conditional
code in an enclosing group element.
From Frank's announcement:
Fix appendCitationCluster() to work with the API revision
made to processCitationCluster() in point release 1.0.28.
When user provides a cite suffix that ends with a full stop,
suppress the normal inter-cite join.
From Frank's announcement:
Quash duplicate terminal punctuation at the end of citations.
This can happen where an abbreviated term such as id. or
ibid. is rendered at the end of a citation in a note style,
in which the note is terminated with a period.
Eliminate implicit for loops in array constructs, which is
sadly not available in Chromium JS engine.
closes#744, Select multiple items/entire collection in edit bibliography dialog
- adds "Cancel", "Revert", and "Revert All" buttons to edit bibliography dialog
- permits multiple item selections in edit bibliography dialog
- removing items in the edit bibliography dialog now leaves the citations intact, but removes them from the document
fix Accept button issue by using getAttribute() rather than id property, but also scroll to newly inserted citation, since it's probably the desirable behavior
From Frank's announcement:
Simplify save/restore operations for previewing.
Tie in tainting code for disambig values registered via disambig_cites.js.
Possibly over-aggressive about rerendering now, but it works.
In quick initial testing, at least, this release appears to be eerily stable in Zotero.
From Frank's 1.0.31 announcement:
Extensions to the test fixtures for previewCitationCluster(),
which revealed shortcomings in the name state restoration
code.
Properly restore name state in previewCitationCluster().
Roll back previewCitationClusterStatic() command that
was introduced in the last (unannounced) 1.0.30 release.
Discussion and more careful thought showed that it is not
safe and not generally a good idea to make blind assumptions
about document state.
From Frank's 1.0.33 announcement:
In preview mode, avoid tampering with the registry data,
of items in the citation to be previewed that already
exist in the registry. Fixes errors in subsequent
rendering of year suffixes.
Suppress redundant return value for current cite, when it is
tainted by an update by processCitationCluster().
From Frank's 1.0.34 announcement:
Include year suffix in clone of disambiguation
configuration. Failure to include this parameter
appears to have been behind some intermittent
glitches in preview handling of year suffixed
citations.
Avoid processor crash when unregistered citation
objects are encountered in preview mode. The crash
points occur during tainting, which is irrelevant
in preview mode, so no harm is done; but I'm not
really sure why this would ever happen. Possibly
specific to the Zotero version used for testing.
Add a couple of paranoia operations to processCitationCluster():
Issue a bogus warning citation in the event of a processor
crash. This should come out for production.
Slice citationsPre and citationsPost when they enter
the processor. I've been exploring some instability
with large numbers of same-author/same-year cites in
Zotero, and thought that mallability of list input
might be part of the problem. No idea whether these
lists can or do change length or content during processing,
but just in case.
- upgrade to citeproc-js 1.0.29
From Frank's 1.0.25 announcement:
Provide new command, previewCitationCluster(), that returns
string for hypothetical citation at specified position,
without affecting processor state.
Fix bug that would have cause appendCitationCluster() to
run updateItems() unnecessarily.
Provide for forced generation of citationID, for internal use
in previewing.
From Frank's 1.0.26 announcement:
Implement new command restoreProcessorState(), for use in,
er, restoring the processor state, when position variables
and citation sort keys are already known.
From Frank's 1.0.27 announcement:
This fixes a couple of obvious problems in the code of the new
restoreProcessorState() command.
From Frank's 1.0.28 announcement:
This version introduces a significant change to the return
value of processCitationCluster(). It is now an array with
two elements, the first being a JS object that serves as a
data segment, and the second the list of two-element arrays
representing insertion indexes and strings for insertion
(as previously documented). An API change of this scale
probably calls for some more visible sign in the version
numbering, but the original statement on versioning says
that the major and minor numbers will align with the CSL
schema, so we stay at level 1.0.
The data segment referred to above contains just one element
currently, "bibchange", which is true if processing the
citation results in any change affecting the bibliography.
This release also introduces one change and one addition to
style configuration flags. The flag at citation.opt["citation-number-sort"]
has been moved to opt.citation_number_sort, for clarity and
consistency. A new flag, opt.sort_citations, is true if
citations are sorted by the style in any way.
From Frank's 1.0.29 announcement:
Complete reimplementation of cite-level disambiguation.
The new code is more compact and maintainable, and
avoids thrashing behavior that afflicted the previous
code when a large number of cites required both
add-names and year-suffix disambiguation.
Suppress year suffix when fresh ambig keys are generated.
Inserts by a plugin affecting year suffixes should now be
correctly handled.
From Frank's 1.0.23 announcement:
Cope with two disambiguation cases, involving add-names and
add-givenname, that succeeded in crashing the processor.
From Frank's 1.0.24 announcement:
Cope with item IDs of numeric type, and roll back
one patch from 1.0.23 that becomes unnecessary as
a result.
Together, these updates fix several issues with citation previewing.
- update to citeproc-js 1.0.22
From Frank's announcement:
- Bypass sorting of citations that have a value for "unsorted"
in citation.properties.
This permits per-citation override of style-driven citation sorts, as
supported by Zotero and required for some common use cases.
- switch Zotero.JSON to native Firefox JSON support
- update to citeproc-js 1.0.21
From Frank's announcement:
In this release:
- Tighten up internal "NUMERIC" update_mode to mean styles that render
citation-number in citations (renderings in the bibliography are now
ignored for purposes of setting this flag).
- The numeric styles fix introduced at version 1.0.17 broke with
styles that sort the bibliography on anything other than citation-
number (i.e. document first-reference order). With this release,
arbitrary sorts of the bibliography work with numeric styles.
- Position evaluation code is now invoked only in styles that make use
of position testing (to save a few cycles).
- Numeric styles now perform targetted citation updates correctly.
From Frank's announcement:
This release adds some further fine-tuning to disambiguation, and now
retains all names added by disambiguate-add-names when a year-suffix
is added to a cite. Also fixes a bug affecting cites containing lone
institutional authors.
- hopefully fix issues with loading locales from the XPI
From Frank's announcement:
This release allows use of the code under either the current CPAL
license, or under the AGPLv3, at the option of the developer or
project integrating the code.
- Change link to xbiblio to CitationStyles.org and add attribution for citeproc-js
From Frank's announcement:
This release fixes a small issue in disambiguation, which could cause
initials or full given names to be retained where they are not
necessary to achieve disambiguation, under certain fairly rare
conditions.
This also includes a very small change to the regexp used to identify
numeric content in numeric fields, support for RTF and plain text
output (courtesy of Simon), and a modification to the ./test.py
script, adding a -E option that dumps a version of the processor with
embedded E4X support, suitable for drop-in inclusion in current Zotero
2.1.
closes#1650: suppress author does not work for multiple sources
closes#1505: Edit Biblography Button Strips Year Disambiguation
closes#1503: Editing a bibliography resets all reference numbers to 1 (new)
closes#1262: Broken pluralization with et al. + other issues
closes#1238: Localize quotation marks
closes#1191: Harmonize 'plural/pluralize' label attribute with CSL schema
closes#1154: Only one works page numbers are added to the citation are when citing multiple works by the same author
closes#1097: Disambiguation issues
closes#1083: Defect in IEEE CSL with Multiple Citations
closes#993: more sophisticated subsequent-author-substitute
closes#833: text-transform doesn't work with name
- Store one item per IA bucket, with attachments stored as objects
- Use proper mediatype field based on Zotero item type
- Commons list is now pulled dynamically based on RDF stored at IA, without need for corresponding local item (which may have been deleted, etc.)
- Once available, OCRed PDFs can be pulled down by right-clicking on Commons and selecting Refresh
- Downloaded OCRed PDFs are now named the same as the existing attachment, with "(OCR)" appended
- The relations table is used to link downloaded OCRed PDFs to the IA file, so the downloaded file can be renamed without triggering another download
- The Commons view is marked for automatic refresh after an item is uploaded
- Added some progress notifications, though more are probably needed
- Other things
Also:
- Added Zotero.File.getBinaryContents(file)
- Erase an item's relations when the item is deleted, and purge orphaned ones
- Zotero.URI.eraseByPathPrefix(prefix) no longer prepends 'http://zotero.org' (which has been moved to Zotero.URI.defaultPrefix)
- New function Zotero.URI.eraseByURI(prefix)
Known Issues:
- Slow (some IA changes should be able to speed it up)
- Identifier format is likely temporary
- Sometimes it stops during setTimeout() calls for no apparent reason whatsoever
- Didn't test items with multiple attachments
- Not sure if Commons view will auto-refresh if you switch to it before the upload is done
- IA translator not yet updated
- Deleting items not supported by IA
- Date Added/Date Modified don't show up properly in Zotero for Commons items
- Fixed syncing buckets from IA
- Moved XMLHTTPRequest send() and sendAsBinary() into _createAuthenticatedRequest() to avoid manual req.readyState checking and provide better debug output
- Show error message if no parent items were dragged into bucket
- Better alerts and debug output for problems
- Removed '_' prefix from non-private methods and properties
- A few other small tweaks
- More coming
- Renamed 'Repository' to 'Library Catalog' and added 'Archive'
- Moved 'Repository' data to 'Archive' for item types other than books, periodicals, and theses
- Mapped 'Archive' to CSL 'archive'
- Display "Reindex Item" icon even if PDF tools aren't installed (including for non-PDF attachments)
- Display file modification time rather than item modification time in attachment pane
- For "Book Section", added "Book Author" (needs to be mapped to CSL container-author) (closes#872)
- For A/V item types, "Recording Type" mapped to "Type" is now "Format" mapped to "Medium" (closes#1060)
- For "Radio Broadcast" and "TV Broadcast", replaced "Series Title" with "Program Title" mapped to "Publication Title" (CSL field container-title rather than collection-title) (closes#860)
- For "Patent", added "Country" field, removed (nonfunctional) base-map from "Place" to "Country", added "Issuing Authority", replaced "Date" with "Filing Date" (not currently mapped to CSL), and moved "Date" data to "Filing Date". Kept "Issue Date" base-mapped to "Date". (closes#1375)
- For "Film", mapped "Distributor" to "Publisher" (closes#861) and added "Genre" mapped to "Type"
- For "Podcast", mapped "Audio File Type" to "Medium" rather than "Type"
- For "Bill", added "Cosponsor" creator type (closes#655)
- For "Case", added "Author" as primary creator type instead of "Counsel" (#655)
- For "Computer Program", added "Date" (closes#1502)
- For "Thesis" and "Newspaper Article", added "Place" (closes#1274)
- For "Thesis", replaced 'pages' with 'numPages' (closes#1618)
This can't yet sync, so upping sync API version and delaying dev XPI build.