History | View | Annotate | Download (50 kB)
Change license year.
Fixes #1889
The ETag header/hash property always includes the MD5.
Refs #1792
Add backend object retrieve by UUID. Expose UUID at the frontend. Document.
Refs #1790
Merge branch 'meta-domains'
Document django's behavior when using the internal web server and not supplying a Content-Type header.
Fixes #1734
Merge branch 'master' into meta-domains
Conflicts: pithos/backends/lib/sqlite/node.py pithos/backends/modular.py
Fix SQL for metadata queries in SQLalchemy module.Fix regular expression & capitalization issues
Refs #1766
Update frontend with the metadata domain parameter.
Refs #1782
Accept meta queries at the frontend as well.
Fix and/or syntax.
Use URL-encoding/decoding for all headers.
Refs #1511
Format groups/policy/metadata in JSON/XML replies.
Fixes #1719
Upload files from HTML forms directly to the backend.
Fixes #1676
Always include the Merkle hash in object meta (as returned from the backend). Clean up 'hash' references in frontend.
Needs database update.
Fixes #1451
Move MySQL warnings suppression to backend.
Make request.user point to the user object.
Fix top level authentication.
Use 401 error when missing token and 403 when forbidden.
Fixes #1369
Add insufficient quota replies in frontend. Document.
Refs #1165
Merge account policy in api. Document.
Refs #1165Refs #1167
Merge branch 'master' of https://code.grnet.gr/git/pithos
Report remaining bytes. Enforce account quota when setting container limits.
perform case sensitive varchar ordering, handle correctly utf8 columns and decimals
Refs #1458
Fix 'Content-Type' parsing in container POST request.
Refs #1371
Allow cross-account object from object update.
Fixes #1379
Container-level block upload.
Fix 'Content-Type' header in GET replies.
Fixes #1239
Support cross-account copy and move.
Fixes #1241
Use one backend instance per HTTP request
Use 'hashmap' parameter in object GET/PUT to use hashmaps.
Report allowed actions in cross-user object requests, with the 'X-Object-Allowed-To' header.
Container PUT can also be used for updating metadata/policy.
Make default authentication return the password as the key.
Fix PUT object via hashmap.
Avoid unnecessary metadata updates.
Change conflict (409) replies format to text.
Return new version identifier in frontend. Document.
fixing utf8 handling (manifestation), client lib support for updating from other object
fix utf8 handling
additional tests written
Fix reading when apache does the dechunking.
Conditional object create/update.
Fix metadata keys in extended replies.
Avoid using os.path.join to concat path strings.
Option to show only shared containers/objects in listings.
Refs #765
Cross-account operations in backend/API/docs.
Refs #763
Add API calls to purge container/object history (2).
Conflicts: pithos/api/tests.py
Object create via POST, when Content-Type is 'multipart/form-data'.
extend api object write to accept xml formatted requests containing hashmap information instead of actual data
socket_read_iterator raises BadRequest if maximum size is reached
Fix Content-Length.
Return a correct x-storage-url
Use the value of X-Auth-User instead of 'demo'
Object truncate.
Option to update an object using another object's data.
Do not use the 'Accept' header on PUT to get 'format'.
Bug fix.
Fix bug/tests.
Return the conflicting path in the reply, when refusing to change permissions because of a conflict.
Refs #449
New public objects implementation.
Fixes #595
Return the correct token in authenticate
correct spelling
extend api to create an object by uploading the hashmap instead of actual data
- enable format parameter in PUT requests on objects- when format is json the api instead of actual data expects a json formatted dictionary (similar to one returned by extended GET responses) containing information about the block identities...
Add account groups, merge into sharing. Fix tests.
Update versioning.
- Allow non-integer version identifiers.- Use 'X-Object-Modified-By' to trace the user that created a version.- Fix 'X-Object-Version-Timestamp' header formatting.
Rebuild the database, or:sqlite> alter table versions add column user text;...
Updated permissions support.
Document 'update' parameter. Add to account/container POST.
Fix POST to delete metadata when none is supplied. Add 'update' parameter to update certain meta values only.
Fix version list and copy from version when the object is deleted.Remove 'public' from permissions.
Initial permissions support.
Refs #449Refs #595
Add recommended practices/examples in docs.
Bug fixes.
slight modifications to support list object versionsRefs #593
Fix manifest and copy/move prefix parsing.
Large object support.
Versioning extras, including account/container "time machine".
Limit metadata in object headers accessed via /public. Simplify implementation.
Refs #595
Pass account from request URL to backend functions and not request.user.
Advanced versioning support. New backend.
- Everything is versioned in the backend.- Time-controlled account/container listings.- Initial API support with the 'version' parameter in object HEAD/GET.
Refs #593
Fixes chunked object post with specific upto range limit
Produce new ETag when updating an object.
Include storage type in container meta/hashmap replies. Minor doc updates.
Document partial object updates and hashmaps.
Refs #563
Handle partial object updates through POST.
Fix object GET.
Add license.
Fixes #577
Provide metadata functions for tags and trash support. Restructure backend to work with blocks and hashmaps.
Fix account/container size reporting, zero-length object uploading.
Implement basic functionality plus some extras
The API is based on the Apr. 15, 2011 release of the OpenStack Object Storage API v1.The implementation is broken up into two layers - frontend (API) and backend (data and metadata handling).The API is documented in the wiki. The following list is copied here for reference....
Update default settings. Minor changes.
Clean up, sort out logging.
Make sure unicode strings work for container and object names, as well as metadata (keys and values).
Merge API and backend.
Allow for account/container metadata.
Merge API and backend container functions
Testing containers with the cloudfiles python bindings.
Move to a better file organization
The Django project is a python package and needs to have aspecific name. We nest it inside the repository so that thename is under revision control.