diff --git a/docs/specs/index.rst b/docs/specs/index.rst --- a/docs/specs/index.rst +++ b/docs/specs/index.rst @@ -10,5 +10,4 @@ blueprint.rst spec-loading.rst spec-technical.rst - spec-sparse-deposit.rst spec-meta-deposit.rst diff --git a/docs/specs/metadata_example.xml b/docs/specs/metadata_example.xml --- a/docs/specs/metadata_example.xml +++ b/docs/specs/metadata_example.xml @@ -26,8 +26,5 @@ - - - diff --git a/docs/specs/spec-meta-deposit.rst b/docs/specs/spec-meta-deposit.rst --- a/docs/specs/spec-meta-deposit.rst +++ b/docs/specs/spec-meta-deposit.rst @@ -131,4 +131,3 @@ In this case, the metadata-deposit will be injected as a metadata entry of the relevant object, with the information about the contributor of the deposit. -Contrary to the complete and sparse deposit, there will be no object creation. diff --git a/docs/specs/spec-sparse-deposit.rst b/docs/specs/spec-sparse-deposit.rst deleted file mode 100644 --- a/docs/specs/spec-sparse-deposit.rst +++ /dev/null @@ -1,100 +0,0 @@ -The sparse-deposit -================== - -Goal ----- -A client wishes to transfer a tarball for which part of the content is -already in the SWH archive. - -Requirements ------------- -To do so, a list of paths with targets must be provided in the metadata and -the paths to the missing directories/content should not be included -in the tarball. The list will be referred to -as the manifest list using the entry name 'bindings' in the metadata. - -+----------------------+-------------------------------------+ -| path | swh-id | -+======================+=====================================+ -| path/to/file.txt | swh:1:cnt:aaaaaaaaaaaaaaaaaaaaa... | -+----------------------+-------------------------------------+ -| path/to/dir/ | swh:1:dir:aaaaaaaaaaaaaaaaaaaaa... | -+----------------------+-------------------------------------+ - -Note: the *name* of the file or the directory is given by the path and is not -part of the identified object. - -TODO: see if a trailing "/" is mandatory for implementation. - -A concrete example ------------------- -The manifest list is included in the metadata xml atomEntry under the -swh namespace: - -TODO: publish schema at https://www.softwareheritage.org/schema/2018/deposit - -.. code:: xml - - - - - HALit mandatory to have a trailing "/", - hal@ccsd.cnrs.fr - - The assignment problem - https://hal.archives-ouvertes.fr/hal-01243573 - other identifier, DOI, ARK - Domain - description - - author1 - Inria - UPMC - - - author2 - Inria - UPMC - - - - - - - - - - - - -Deposit verification --------------------- - -After checking the integrity of the deposit content and -metadata, the following checks should be added: - -1. validate the manifest list structure with a correct swh-id for each path (syntax check on the swh-id format) -2. verify that the path name corresponds to the object type -3. locate the identifiers in the SWH archive - -Each failing check should return a different error with the deposit -and result in a 'rejected' deposit. - -Loading procedure ------------------- -The injection procedure should include: - -- load the tarball new data -- create new objects using the path name and create links from the path to the - SWH object using the identifier -- calculate identifier of the new objects at each level -- return final swh-id of the new revision - -Invariant: the same content should yield the same swh-id, -that's why a complete deposit with all the content and -a sparse-deposit with the correct links will result -with the same root directory swh-id. -The same is expected with the revision swh-id if the metadata provided is -identical. diff --git a/docs/specs/swh.xsd b/docs/specs/swh.xsd --- a/docs/specs/swh.xsd +++ b/docs/specs/swh.xsd @@ -31,20 +31,6 @@ - - - - - - - - - - - - - -