Cloud Storage Final Report
Google Summer of Code has come to an end and it was an interesting experience for me at Joomla! My project was about implementing cloud storage support for Amazon Simple Storage Service, Rackspace and Google Cloud Storage.
I’ve implemented Amazon S3 in the first part and Rackspace and Google Cloud Storage in the second part of Google Summer of Code. The basic structure of the storage packages is somehow similar, all of the storage services providing operations for working with containers (or buckets) and objects. Based on the current APIs, I implemented methods which create and send Head, Get, Put, Post and Delete requests and process the server’s answer. Even though the storage services provide PHP SDKs, I chose to implement my own operations and follow a pattern similar to the one of the existing packages.
These 3 cloud storage packages have not been merged into the master branch yet, and they haven’t really been tested so much by other people. I wrote unit tests, but those only operate with mock requests, so the actual requests to the corresponding API URLs could benefit from other kinds of examination as well. I’ve manually tested the operations myself, and I plan on additionally testing them in any other special cases I can think of. Any member of the community is always welcome to play with or do some testing on these packages and report the bugs he encounters.
I also intend to implement a package for working with the Dropbox API. The structure will be similar to the previous ones, so it will come with unit tests, documentation and a gist with sample operations. I plan on implementing this by October 14.