-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: CDN #55
Comments
Hi, I want to say that I've tried the CDN-Linker plugin with the Quick Cache and it mixes great. Maybe you can add its functionality to your plugin, I know that one of your competitor already does this. Alternatively you can just keep your plugin compatible with the CDN-Linker. |
@SBOQ Thank you very much for that info! I'll be working on this soon and will try to maintain support for that plugin as well. |
One thing I noticed with the various CDN plugins (whether they use output buffering regex or not) is that they don't provide the ability to switch CDN URL's based on whether the current page is HTTP or HTTPS (SSL). This can become an issue if you're using a CNAME CDN (e.g., cdn.example.com), but also need to CDNify your HTTPS pages. If your SSL pages aren't pointing to a URL that has a valid security certificate, you'll get browser security errors. For example, using the CloudFront CDN with origin pull, you'd have to use uglySubdomain.cloudfront.net for SSL pages, as the cdn.example.com CNAME wouldn't match the SSL certificate. Now, amazon does offer SSL CNAME certificates for around $600/month, but that's probably cost-prohibitive for a lot of folks. You could probably get it to work locally if you acquired a wildcard SSL certificate, but that's more expensive than a non-wildcard. So just using the ugly SSL CDN URL is the least expensive option. What's interesting with Quick Cache implementing CDN support (SSL page or not) is that CDN URL conversion could be performed whether or not caching is being performed. For instance, if someone excludes certain pages from caching, it's probable that they'll still want their static files CDNified. So Quick Cache would be more of a hybrid plugin where the CDNification operates independently from the caching. |
@raamdev I'm configuring a new site and I wonder should I install the existing CDN plugin or wait for your built-in with QC. It's not that I want to be pushy, I just wonder how fast this can be expected? |
@SBOQ I don't have any precise ETA, but it will be at least a few weeks before I have this feature integrated, tested, and ready for release. |
@raamdev Well since you've decided to implement the CDN into the Quick Cache I have to say that I cheer for this feature to come fast because I'll have to reconfigure things later when it becomes available. Edit: Maybe setting the CDN plugin to work like a plugin for the QC could be a good approach, then it's functionality can be accessed on a site by site basis. |
@raamdev it's 2 months since the hint about the CDN addition. Is this feature any time close? |
@SBOQ My apologies for the delay. I'm a bit behind on things, but this feature, along with Branched Cache Structure, are at the top of my list for new features that I'm working on for Quick Cache. |
@raamdev In my original feature request I noted the above. I see there is an easy solution to this, which I will describe briefly... Using the AWS-SDK (which we can redistribute w/ Quick Cache); we can add a stream wrapper like See: http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-s3-stream-wrapper.html So with that in place... the example I posted earlier might look like this...
|
@raamdev The AWS-SDK can be downloaded here. |
@JasWSInc Perfect! Thanks so much. I'll work on getting this integrated so that we can start testing it for a future release. |
@raamdev I just ran some tests against the S3 stream wrapper in my work on another project. There are two issues that I ran into which I thought I would share with you here.
|
@JasWSInc Thanks! That will definitely come in handy when I tackle CDN support. I'm currently working on #3. |
+! on CDN. I use CDN-Linker and its great, but if we can combine that with S3 support for the cache files... AMAZING!! |
Adding this to the Future Release milestone to work on next, after the Next Release. |
Also requested here: http://wordpress.org/support/topic/cdn-support?replies=1 |
Punting to Future Release milestone so that the bugs in the Next Release milestone can be released sooner rather than later. CDN integration will be my top priority feature to work on for the following release. |
Not sure if my comment showed up. Two questions for you:
Thanks! |
Yes.
Yes. It will be fully compatible with s2Member and iDevAffiliate. |
Raam you're going to make me cry bro. Lol, I'm so excited. Now I can finally get rid of W3 Total Cache! Weeee! |
😿 : I am already there. Tears of happiness brother. I can't wait! |
Very excited here on this as well... But to completely replace other (bloated) caching plugins, would need #47 too!! (Just a little plug and reminder!! :)))) |
@raamdev @jaswsinc Holy moly, DreamSpeed CDN (Part of DreamObjects) just came out! Can you please make sure your release (I'm assuming is on the 19th) is compatible with this as well!! It's much better than MaxCDN so we're going to be switching over to it and I really want to delete as many plugins as I'm using as possible so we're only using WebSharks products and iDevAffiliate. Here's the link: https://www.dreamhost.com/cloud/cdn/ Thank you!! And here's a wiki on it http://wiki.dreamhost.com/DreamSpeed_CDN_Overview |
Request for CommentsWhat is the intention for Quick Cache CDN integration? @jaswsinc your initial comment when you opened this feature request indicated the following:
But "static media" here implies only media uploaded through the WordPress Media Library, correct? There are lots of ways Quick Cache could utilize CDN integration:
I feel that it would be nice to eventually support all of these, but obviously that will take some time, planning, and testing. I'm thinking it will make sense to start with CDN support for hosting attachments (files uploaded through the Media Library) and then work on the other features, maybe in the order listed above. Thoughts? |
@raamdev I'm going to respond to this privately and share my thoughts about what we could do here. |
Let me know your thoughts on my above Trifecta @clavaque @raamdev @BruceCaldwell @jaswsinc @ethanpil @Reedyseth I think this would be the dream for all owners of Quick Cache / Zen Cache. |
iDevAffiliate works with s2Member now already but unfortunately, iDevAffiliate and s2Member don't work together properly when W3 Total Cache is turned on, but W3 Total Cache does MaxCDN perfectly. If W3 Total Cache worked properly with iDevAffiliate and s2Member then I would just use it instead because all that's missing is MaxCDN. If Quick Cache / Zen Cache could work nicely and fully tested together with all 3 then that would eliminate our need for W3 Total Cache completely and allow everyone to see the full potential of all these technologies working together! |
Of course being that iDevAffiliate has it's own seperate install folder, but just that it can properly communicate with s2Member when Quick Cache / Zen Cache is turned on and connected to MaxCDN. iDevAffiliate would not need to be using any CDN features because it is pretty lite weight ( I mean unless you wanted to do that in the future but for right now that's not very important ). |
@ioerjfoige0439i thank you for the ideas and the suggestions. :) We already have plans to launch ZenCache with MaxCDN support within the next few weeks / early January. We'll ensure that ZenCache + s2Member + iDevAffiliate work together as expected! |
@raamdev Great, I can't wait to finally dump W3 Total Cache and consolidate my plugins. It's much easier for me to buy all my plugins with Web Sharks Inc. or those that work in conjunction with Web Sharks Inc. plugins (such as iDevAffiliate) than to have other 3rd party plugins that will introduce compatibility issues into my workflow. It makes it much easier to know that you guys are handling everything in house and have your best interest to squash any bugs that arise between different plugins. Good work. |
@clavaque @raamdev @BruceCaldwell @jaswsinc @ethanpil @Reedyseth Don't forget about Amazon S3 and Amazon Cloudfront CDN options as well :-)! |
@clavaque @raamdev @BruceCaldwell @jaswsinc @ethanpil @Reedyseth As well as a “Generic” origin-pull Mirror in case we want to add other CDN's like CDN77 or CDN.net |
How is it going? Any ETA? |
@tokar86a We'll have CDN functionality released as part of ZenCache, which is coming this month (the soft launch is likely happening this week). If you're interested in testing a beta version when that goes out, please make sure you're on the beta testers list. |
Are we going to lose our registration when you switch over?
|
No, you won't lose anything. All existing Quick Cache Pro customers will automatically have access to ZenCache Pro. |
Thanks guys, just signed up for the pro beta testers list |
Hove is it going whit this soft release? |
@tokar86a The soft release is going well. :-) We should be doing a public release next week. I'll update here again when that happens. |
CDN Integration has been released as part of the changeover to ZenCache. |
@raamdev I'd like to request the following feature in QC Pro.
Here is a clip from a custom plugin that I've used for quite awhile now. Perhaps it could serve as a starting point for a whole new set of functionality that's offered by QC Pro when it comes to CDNs.
This code assumes that an S3 Bucket has been mounted locally, so it won't work unless a site owner can do that. Ideally, Quick Cache Pro could simplify this part further and make it easier for a novice site owner to set things up on their own.
Other Considerations...
It's probably worth having a discussion about how far QC Pro is going to take it's CDN integration — if and when it's added as a pro feature.
The feature request here only asks for the Media Library. However, there are plugins like CloudFlare that deal with ALL static files served by WordPress, which is even better IMO.
Which CDNs can we support? Some, or all of them? The code sample above could potentially work with any CDN that could be mounted locally. However, that's still problematic because not all of them can be of course.
Multisite compatibility.
A QC user recently wrote...
TODOs
quick-cache-pro/submodules/aws-php-sdk
quick-cache-pro/submodules/maxcdn-php-sdk
htmlc
submodule toquick-cache-pro/submodules/html-compressor
content_filter()
in thecdn_base
class.cdn_base::local_file()
.create_distro()
method for CloudFront.get_distro()
method for CloudFront.update_distro()
method for CloudFront.create_distro()
method for MaxCDN.get_distro()
method for MaxCDN.update_distro()
method for MaxCDN.The text was updated successfully, but these errors were encountered: