Skip to content

M16: rights and sharing - #28

Merged
SebHenn merged 2 commits into
mainfrom
m16-rights-and-sharing
Nov 7, 2026
Merged

SebHenn merged 2 commits into
mainfrom
m16-rights-and-sharing

Conversation

@SebHenn

@SebHenn SebHenn commented Nov 7, 2026 •

Copy link
Copy Markdown
Owner

What

M16 "Rights and sharing" from the roadmap: every item page says whether it may be reused, in plain language. "Cite this item" gives a line to copy. A link pasted into a messenger shows the picture and the archive's name.

On every item page

  • "May I reuse this?", with the item's own statement, the archive's default, or a request to ask. A link goes to what the statement means, and to the contact page if there is one. The credit is shown. The rights holder stays with curators.
  • "Cite this item": who it is credited to, what it is, when it is from, which archive, the address and the day it was looked at. The contributor is never named in it. There is a Copy button.
  • "Share" opens a phone's own list of where to share to. Elsewhere it copies the link. Both buttons only appear with JavaScript, and the citation can be read without it.
  • rel=canonical on items and collections.

Beyond the website

  • Link previews (Open Graph), an Atom feed of the latest 30 items at /feed.xml, and a sitemap at /sitemap.xml, named in robots.txt. All of them go off with the search engine switch. Pages for curators and contributors never get a preview.

The contribution form

  • An optional "May others reuse it?": no (the default), non-commercial with credit, or any use with credit. It only appears once someone says they made it or may decide for whoever did. If they say they don't know who made it, the answer is ignored, without JavaScript too.
  • The offer is stored in the words they saw, as part of the consent. For curators it is only a suggestion: the statement is filled in from it, with a warning that a free licence cannot be taken back.
  • New consent wording covers link previews and the list of what is new. It also says honestly that the archive cannot reach copies others have made.

Please decide or look at

  • Earlier contributions keep what they agreed to, which was "this website". Their picture and text stay out of link previews, and the whole item stays out of the feed. A link to one still shows its title, and the sitemap still lists it, because both only say what is on this website. There is no button to change this, because that would need the contributor's agreement, which the archive has no record of.
  • Rights statements and credits that curators wrote so far now become public. The field always said so, and the changelog says it in bold.
  • The consent got longer, so other text got shorter. The form on a phone was 1,523 px, over the 1,500 limit M14 set. So I shortened the new consent wording, the note under the email address and the date example. On Linux's wider fonts, as GitHub runs them, it was still 1,523 px after the first cut, so the second commit shortens two help texts more. When someone says they made the photo, the reuse question adds about 140 px.
  • A migration adds Reuse and ConsentCoversSharing to contributions, false for those that already exist. Both are in the export, whose format version 3 has not been released yet.

Checked

  • 270 HTTP and 163 browser tests pass locally, built the way CI builds, 25 and 7 of them new.
  • 28 rules broken on purpose, one at a time, and all caught, each by the test meant for it. This time I checked that no test was failing in every run.
  • Behind the proxy: canonical links, preview pictures, citations, feed and sitemap must all say https. That depends on ASPNETCORE_FORWARDEDHEADERS_ENABLED in compose.production.yaml, and a test now tries that setting.
  • The feed survives a control character pasted into a description, and escapes markup. Without the first, one character would make the whole feed unreadable. Python's XML parser read the feed from the running app.
  • Walked through in the running app, at phone and desktop width and in German: an item page, the form with the question, sending an offer, the curator's review with the suggestion, the feed and the sitemap.
  • The hover-colour race that M15 fixed in one test came back in a new one, so the accessibility helper now moves the mouse away and waits before every check.

Not checked

  • A real messenger. A preview can only be tried with an archive on a real address that the messenger's servers can reach. It is on the tester's list.
  • The feed in a real feed reader, and the sitemap in a search engine's tools. They parse as XML and follow the format as far as I know it, but nothing validated them.
  • Sharing on a real phone. The test stands in for the phone's sharing list.
  • Whether the plain-language labels are understood as meant, and whether the reuse question puts anyone off.

Left out

  • A way to record that an earlier contributor has agreed to more, for example on paper. If groups need it, it would need its own record and history.
  • Showing the contributor's name in citations. Only the curator's credit appears, since "show my name" was about the item page.

🤖 Generated with Claude Code

SebHenn and others added 2 commits November 7, 2026 15:10
Each item page now says in plain words whether it may be reused, with
the credit and a link to what the statement means. "Cite this item"
gives a line to copy, and "Share" uses a phone's own sharing list or
copies the link.

Link previews, an Atom feed and a sitemap follow the switch for search
engines. Contributions from before agreed to "this website" only, so
their picture and text stay out of previews and the feed.

The contribution form can offer reuse, only to those who may decide it,
and the consent now covers previews and the feed. The offer is kept in
the words the contributor saw and is only a suggestion for curators.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Seb H. <138793908+SebHenn@users.noreply.github.com>
On the Linux runner, wider fonts made the phone form 1523 px, over the
limit set in M14. The date example and the note under the email address
said more words than they needed to.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Seb H. <138793908+SebHenn@users.noreply.github.com>
@SebHenn
SebHenn merged commit 62465bd into main Nov 7, 2026
12 checks passed
@SebHenn
SebHenn deleted the m16-rights-and-sharing branch November 7, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant