NBER: PDF pages no longer detected — PDFs moved to /system/files/working_papers/
NBER now serves working-paper PDFs at `https://www.nber.org/system/files/working_papers/wNNNNN/wNNNNN.pdf` (e.g. https://www.nber.org/system/files/working_papers/w35907/w35907.pdf). The path the translator's PDF support was written for (https://github.com/zotero/translators/issues/1592, https://github.com/zotero/translators/pull/2519), `/system/files/papers/wNNNNN/wNNNNN.pdf`, now redirects to www2.nber.org and ends in a 404.
On the new URLs the NBER translator doesn't fire, so the connector (Safari, Zotero 10.0.6) saves a standalone PDF:
- `detectWeb()`: the PDF branch matches (`pdfSlugRe.test(url) && url.endsWith('.pdf')`), but `url.includes('/papers/')` is false for `/working_papers/`, so it returns false.
- `scrape()`: even with detection fixed, `pdfSlugRe` captures `/working_papers/w35907`, and https://www.nber.org/working_papers/w35907 redirects to www2.nber.org and 404s. The landing page is `/papers/w35907`.
Possible fix (string logic checked; not tested inside Zotero):
```js
// detectWeb
if (url.includes('/papers/') || url.includes('/working_papers/')) {
return preprintType;
}
// scrape(), PDF branch
catalogSlug = catalogSlug[1].replace(/^\/working_papers\//, '/papers/');
```
Why it matters most on release day: NBER posts new papers on Monday with the DOI (10.3386/wNNNNN) already in the page's meta tags and BibTeX, but registers the DOIs with Crossref in one weekly batch around midnight UTC between Monday and Tuesday (every week from 3 Aug to 20 Oct 2026; once two days later). Until then the DOIs return 404 at doi.org and api.crossref.org. So a PDF saved on release day goes through PDF metadata retrieval with nothing to match, and the parent comes back titled after the cover-page header ("NBER Working Paper…") with no date. Saving from the landing page works, because the translator reads NBER's own BibTeX (`back.nber.org/bibliographic/wNNNNN.bib`), which is complete on release day.
On the new URLs the NBER translator doesn't fire, so the connector (Safari, Zotero 10.0.6) saves a standalone PDF:
- `detectWeb()`: the PDF branch matches (`pdfSlugRe.test(url) && url.endsWith('.pdf')`), but `url.includes('/papers/')` is false for `/working_papers/`, so it returns false.
- `scrape()`: even with detection fixed, `pdfSlugRe` captures `/working_papers/w35907`, and https://www.nber.org/working_papers/w35907 redirects to www2.nber.org and 404s. The landing page is `/papers/w35907`.
Possible fix (string logic checked; not tested inside Zotero):
```js
// detectWeb
if (url.includes('/papers/') || url.includes('/working_papers/')) {
return preprintType;
}
// scrape(), PDF branch
catalogSlug = catalogSlug[1].replace(/^\/working_papers\//, '/papers/');
```
Why it matters most on release day: NBER posts new papers on Monday with the DOI (10.3386/wNNNNN) already in the page's meta tags and BibTeX, but registers the DOIs with Crossref in one weekly batch around midnight UTC between Monday and Tuesday (every week from 3 Aug to 20 Oct 2026; once two days later). Until then the DOIs return 404 at doi.org and api.crossref.org. So a PDF saved on release day goes through PDF metadata retrieval with nothing to match, and the parent comes back titled after the cover-page header ("NBER Working Paper…") with no date. Saving from the landing page works, because the translator reads NBER's own BibTeX (`back.nber.org/bibliographic/wNNNNN.bib`), which is complete on release day.
Upgrade Storage