Repository navigation
DataCite DOIs (#4)
create --doiandenrichlook a DOI up at DataCite when CrossRef has no record: theses, datasets, software, repository records. Only types with a faithful Zotero equivalent are mapped; anything else errors with a pointer to--file.- A DOI in neither registry (e.g. one registered with CNKI) now says so: "not in CrossRef or DataCite".
- arXiv's own DOIs (
10.48550/arXiv.*) are refused bycreate --doiwith a pointer tocreate --arxiv;enrichkeeps reading arXiv for them. - Abstracts from DataCite are stamped
abstract-source: datacite. - The publisher lands in the type's own Zotero field (repository, company). A thesis's university and a report's institution come from the record's institution, not its publisher (often a library or a distributor such as OSTI). This also fixes CrossRef theses and reports, whose publisher used to be dropped.
- A DOI that names a dataset or software deposit is never treated as the version of record of an arXiv preprint.
show --attachments (#14)
- Lists each attachment's filename, contentType, md5, and whether the file is stored (
stored/missing/linked), without downloading anything. "Is this local file already in the library?" becomes a comparison againstmd5sum. - Opt-in, so plain
showstill costs one request per key.
attach --file / --title / --verify (#15)
--filetakes any file type;--pdfstays as an alias.--titlesets the attachment's title (default: the filename).--verifydownloads each upload back and compares md5; on a mismatch it names the attachment key and exits 1, and deletes nothing.
Supplementary-only PDFs in audit (#13)
- An item whose only PDFs are supplementary material (Supplementary Information, a Peer Review File,
…_MOESM1_ESM,…_sm.pdf) is listed under "only supplementary PDFs (article PDF missing)". The attachment title decides; give a misjudged article PDF a plain title such as "Full Text PDF".
Open-access PDFs: create --doi --oa-pdf (#16)
- Opt-in. Downloads only Unpaywall's best open-access location, and only its direct PDF link, then attaches it as "Full Text PDF" and records
oa-pdf: <license> · <host type> · <version> · <url>in Extra. - The dry run shows what it would download and from where, and fetches no PDF.
- A refused download (403, rate limit, bot wall or login page instead of a PDF) is reported and never retried, and that host gets no further attempts in the run; other hosts go on. Exit 1 if anything was refused.
- Needs a real contact address in
ZOTKIT_MAILTO(Unpaywall rejects placeholders).
Less noise in audit (#7)
- Only paper types are checked for abstract / identifier / PDF. Webpages, blog posts, documents, presentations and the like are listed once under "non-paper items" and skipped by
enrich --all. - An ISBN or a patent number now counts as an identifier.
doctor checks Zotero's schema (#6)
- Prints Zotero's global schema version and warns, never fails, when it is newer than the version this release was verified against (42).
Data
- Journal table: Physics Today → Phys. Today (63 registered forms).
audit --json consumers
- New bucket keys:
only-supplementary-pdf,non-paper. Items of non-paper types no longer appear in the other buckets, and items with an ISBN or patent number no longer appear inmissing-identifier.
Not yet tested against a real Zotero Storage library
The Zotero Storage branch of show --attachments, attach --title and attach --verify is tested offline against Zotero's documented responses only; the WebDAV branch was verified live.