Revision 37bee317 docs/source/devguide.rst

b/docs/source/devguide.rst
25 25
=========================  ================================
26 26
Revision                   Description
27 27
=========================  ================================
28
0.8 (Dec 16, 2011)         Update allowed versioning values.
28
0.8 (Dec 19, 2011)         Update allowed versioning values.
29 29
\                          Change policy/meta formatting in JSON/XML replies.
30 30
\                          Document that all non-ASCII characters in headers should be URL-encoded.
31 31
\                          Support metadata-based queries when listing objects at the container level.
32 32
\                          Note Content-Type issue when using the internal django web server.
33
\                          Add object UUID field.
33 34
0.7 (Nov 21, 2011)         Suggest upload/download methods using hashmaps.
34 35
\                          Propose syncing algorithm.
35 36
\                          Support cross-account object copy and move.
......
478 479
content-disposition         The presentation style of the object (optional)
479 480
last_modified               The last object modification date (regardless of version)
480 481
x_object_hash               The Merkle hash
482
x_object_uuid               The object's UUID
481 483
x_object_version            The object's version identifier
482 484
x_object_version_timestamp  The object's version timestamp
483 485
x_object_modified_by        The user that committed the object's version
......
505 507
    "last_modified": "2011-12-02T08:10:41.565891+00:00",
506 508
    "x_object_meta": {"asdf": "qwerty"},
507 509
    "x_object_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
510
    "x_object_uuid": "8ed9af1b-c948-4bb6-82b0-48344f5c822c",
508 511
    "x_object_version": 98,
509 512
    "x_object_version_timestamp": "1322813441.565891",
510 513
    "x_object_modified_by": "user"}, ...]
......
525 528
        <key>asdf</key><value>qwerty</value>
526 529
      </x_object_meta>
527 530
      <x_object_hash>e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855</x_object_hash>
531
      <x_object_uuid>8ed9af1b-c948-4bb6-82b0-48344f5c822c</x_object_uuid>
528 532
      <x_object_version>98</x_object_version>
529 533
      <x_object_version_timestamp>1322813441.565891</x_object_version_timestamp>
530 534
      <x_object_modified_by>chazapis</x_object_modified_by>
......
680 684
Content-Encoding            The encoding of the object (optional)
681 685
Content-Disposition         The presentation style of the object (optional)
682 686
X-Object-Hash               The Merkle hash
687
X-Object-UUID               The object's UUID
683 688
X-Object-Version            The object's version identifier
684 689
X-Object-Version-Timestamp  The object's version timestamp
685 690
X-Object-Modified-By        The user that comitted the object's version
......
776 781
Content-Encoding            The encoding of the object (optional)
777 782
Content-Disposition         The presentation style of the object (optional)
778 783
X-Object-Hash               The Merkle hash
784
X-Object-UUID               The object's UUID
779 785
X-Object-Version            The object's version identifier
780 786
X-Object-Version-Timestamp  The object's version timestamp
781 787
X-Object-Modified-By        The user that comitted the object's version
......
1063 1069
* Object hashmap retrieval through ``GET`` and the ``format`` parameter.
1064 1070
* Object create via hashmap through ``PUT`` and the ``format`` parameter.
1065 1071
* The object's Merkle hash is always returned in the ``X-Object-Hash`` header.
1072
* The object's UUID is always returned in the ``X-Object-UUID`` header. The UUID remains unchanged, even when the object's data or metadata changes, or the object is moved to another path (is renamed). A new UUID is assigned when creating or copying an object.
1066 1073
* Object create using ``POST`` to support standard HTML forms.
1067 1074
* Partial object updates through ``POST``, using the ``Content-Length``, ``Content-Type``, ``Content-Range`` and ``Transfer-Encoding`` headers. Use another object's data to update with ``X-Source-Object`` and ``X-Source-Version``. Truncate with ``X-Object-Bytes``. New ETag corresponds to the Merkle hash of the object's hashmap.
1068 1075
* Include new version identifier in replies for object replace/change requests.

Also available in: Unified diff