Storage API (http://drupal.org/project/storage_api) seems to be doing good work on automatic synchronization, deduplication, etc. without using a daemon.

Is there a possibility to use that module, or add similar functionality in CDN integration, for people who cannot install the Python daemon on their servers (e.g. on shared servers or on clouds like Mosso/RackspaceCloud). I am sure a PHP system would take a bit longer to synchronize than the dedicated Python daemon, but at the same time it would allow great many more users to enjoy the advanced mode of CDN intergration.

Comments

chrism2671’s picture

Did you try this out, by any chance? It appears to offer similar functionality to the CDN integration module, with reduced complexity, so I'd be keen to know if you gave it a shot.

Vacilando’s picture

@chrism2671, no, I did not try Storage API. I think the following sentences from the project page put me off: "At the moment, it can only be used by modules that utilise it directly, e.g. Blue Droplet Video. With Drupal 7 it will be possible for Drupal core to utilise Storage API directly." Guess it should be tried though.

chrism2671’s picture

Yes, I did try it and slightly missed the point. It provides the backend part of transferring things to S3, but only when another module (yet to be written) instructs it do so.

In other words, it's a very good idea and a well written API but it still lacks the key functionality that we're looking for on this thread.

Wim Leers’s picture

Version: 6.x-1.1 » 6.x-2.x-dev

I'll be talking to jbrown during the DrupalCon here in Copenhagen to find out whether it's feasible to also support his Storage API in the CDN integration module.

From just looking at the project page, it already looks very promising in any case :)

Wim Leers’s picture

Status: Active » Postponed (maintainer needs more info)

I just contacted Jonathan Brown (jbrown), the maintainer of the Storage API module to sit down and discuss the possibilities. I'll keep you posted!

Wim Leers’s picture

Component: Advanced mode » Module
Status: Postponed (maintainer needs more info) » Postponed

I talked to Jonathan Brown about an hour ago. He explained how he had been working on Storage API, how it evolved and where it's going.

Basically, the Drupal 6 version is flawed in many ways, although it's used by quite a few sites (a couple of hundred) for his Bluedroplet video solution. He has indicated that we should focus on the Drupal 7 version instead: it's much better and is the only one that will receive enough attention to make it rock solid.

So, unfortunately, this feature won't be implemented won't be implemented for the Drupal 6 version of this module, but it's extremely likely that it will be supported in Drupal 7!

Vacilando’s picture

:-(

jan_v’s picture

That's too bad. Could really use it in 6.x .

I'm looking forward to seeing CDN module and storage_API perform in D7.

Wim Leers’s picture

File Conveyor is too prohibitive for most users to install.
It's also very hard to gain contributions from Drupal users for something that's not written in PHP/Drupal.
And lastly but not least, there's now only one major CDN left that only supports Push and not Origin Pull: Rackspace Cloud Files (CloudFront supports Origin Pull since November 9, 2010, see the relevant issue #968614: Link to Amazon CloudFront custom origin docs.

So, the only major benefit of File Conveyor that's left (it's no longer needed for pushing, and Origin Pull offers little opportunity for CDN provider lock-in), is its ability to process files before they get sent to the CDN; i.e. CSS and JS minification, and image optimization.
However, CSS minification is built in in core, GZIPping is possible with a simple Drupal module (CSS Gzip). JS minification is possible with another simple Drupal module (Javascript Aggregator). Both of these modules have already been made compatible with CDN module version 2.
The BundleCache module also supports an even more advanced way for optimizing CSS and JS. Compatibility with that module is still being worked on (see #401508: Document how to use BundleCache with CDN.

So that only leaves us with the necessity to be able to optimize images as a frequent use case that's not yet supported from within Drupal (for more advanced use cases, you should continue to use File Conveyor). BundleCache already has preliminary support for processing images (it can serve them from a different host), but it still needs a lot of work to actually optimize them losslessly.

So, my plan is to work on adding support for optimizing images from within BundleCache. Using the CDN and BundleCache modules (when the latter is ready) will bring most possible Web Performance Optimizations to your Drupal site.

Wim Leers’s picture

Title: Storage API or similar instead of FileConveyor? » Storage API + CDN

Sister issue in the Storage API issue queue: #1429184: Storage API module + CDN module.

Wim Leers’s picture

Version: 6.x-2.x-dev » 7.x-2.x-dev

Won't happen for 7.x, might happen for 6.x.

jpstrikesback’s picture

You've changed the issue to 7.x but said it might happen for 6.x? Late night/Intentional? :)

Cheers,
JP

Wim Leers’s picture

Storage API's project page says:

It is not recommended to use the D6 version on new sites as its architecture is not mature.

That's why I don't see it happening for D6.

jpstrikesback’s picture

Right but

"Won't happen for 7.x, might happen for 6.x."

confused me : )

jpstrikesback’s picture

Either way, really interested in what goes on here

Wim Leers’s picture

#14: LOL, those should've been the other way around :) My apologies!

In general: this is far more likely to happen if you help build it… ;) :)

jpstrikesback’s picture

Hopefully I can even if it's a small contribution...I'm getting my feet wet now and trying to find some kind of documentation on implementing the Storage API

Wim Leers’s picture

#712998: CDN + Media Mover 2.x integration moved into the Media Mover issue queue, because nothing seems to be happening there.

rogical’s picture

This could be a 3rd module.

I suppose this would be the perfect solution in the future.

Storage api provides redundancy and scalability, CDN provides load balancing!

gunwald’s picture

Subscribing.

ianthomas_uk’s picture

To subscribe to an issue please click the green 'follow' button on the right of the issue summary. This avoids filling the comments with 'subscribe' messages.

thijsvdanker’s picture

Did anyone get anywhere with this? @jpstrikesback what did you see?

Wim Leers’s picture

Issue summary: View changes
Status: Postponed » Closed (works as designed)

https://www.drupal.org/project/storage_api hasn't really gone anywhere during the Drupal 7 cycle. Anybody is free to write a cdn_storage_api integration module.