Feature #14257

[controller] refresh manifest API

Added by Peter Amstutz 3 months ago. Updated 25 days ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

Feature: client can submit manifest text and get back new manifest text with updated block signatures.

Valid local signatures are updated with fresh signatures.

Controller instructs keepstore to pull each block with +R signature and rewrites the manifest with local signatures.

Because pulling remote blocks could take a while and/or the controller could fall over while it is processing the collection, requires one or more of:
  • do the update incrementally
  • prevent timeouts (eg responding 102 Processing)
  • get a cookie that can be used to poll for progress

History

#1 Updated by Peter Amstutz 3 months ago

  • Status changed from New to In Progress

#2 Updated by Peter Amstutz 3 months ago

  • Description updated (diff)
  • Status changed from In Progress to New

#3 Updated by Tom Clegg 25 days ago

Rather than require the client to detect different types of signatures and do an extra step, we could make the "create/update collection" APIs do all the necessary copying when given remote signatures.

(A "refresh local signatures" API would be "create expiring collection" under the hood anyway. The typical use case is "ensure all signatures are local; save manifest to a collection" so we might as well skip the temporary collection and go straight to saving the real one.)

Whatever "operation in progress" mechanism we use should be done such that any API can use it, and client libraries can implement it generically. E.g., send an "I understand 202" header, and follow up transparently, so the application doesn't need to care which operations involve multiple HTTP requests.

Also available in: Atom PDF