Re: [Radiant] Static caching
On Jul 1, 2009, at 4:34 PM, Jordon Bedwell wrote: Does anybody know of a plugin that "actually" works for static caching? Or a way I can pull the Radiant Cache Files with NGINX. Right now we would like to maintain control over output speed, and with Flickr having such horrible response times on their API we tend to lock up for a second and a refresh on a page causing RadiantCMS to avoid it's own internal cache and refresh, which tends to lead to a slow page. We tried the simple static_caching extension listed on the extensions page, however, we get horrible errors. www:/var/app/radiant# script/extension install static_caching Initialized empty Git repository in /tmp/static_caching/.git/ remote: Counting objects: 175, done. remote: Compressing objects: 100% (145/145), done. remote: Total 175 (delta 61), reused 49 (delta 21) Receiving objects: 100% (175/175), 28.31 KiB, done. Resolving deltas: 100% (61/61), done. rake aborted! Don't know how to build task 'radiant:extensions:static_caching:migrate' This likely means there is no migrate task. (See full trace by running task with --trace) rake aborted! Don't know how to build task 'radiant:extensions:static_caching:update' Also, there is probably no update task. (See full trace by running task with --trace) www:/var/app/ radiant# rake production db:migrate:extensions (in /var/app/ radiant) rake aborted! uninitialized constant StaticCachingExtension::ResponseCache I'm assuming you are running on Radiant 0.8.0 which has done away with ResponseCache and now uses Radiant::Cache So this static_caching extension probably has not been updated for Radiant 0.8.0 (See full trace by running task with --trace) Actually tbh, the migrate and update happens on ALL extensions I install, but that's not an issue because if I run rake production db:migrate:extensions the extensions work and install. However, I cannot get this one to play nice at all. So any help is appreciated (and if this is the wrong place to ask sorry) since I am new to RadiantCMS. This is the right place to ask. Extension development is usually done by their respective authors, so you may want to contact them directly too if this list doesn't help. -Jim ___ Radiant mailing list Post: Radiant@radiantcms.org Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant
RE: [Radiant] Static caching
I've decided to branch off the project so I can start to Learn both Ruby and RadiantCMS for more than how to powerhouse and run a server for it. Can anyone help me with this error: undefined method `cache_page' for module `Radiant::Cache' static_html_cache_extension.rb class StaticHtmlCacheExtension < Radiant::Extension version "0.1a" description "\"Static\" (X)HTML Caching" def activate Radiant::Cache.instance_eval { include StaticHTMLCache } end def deactivate return end end /lib/static_html_cache.rb: module StaticHTMLCache def self.included(base) base.instance_eval do alias_method_chain :cache_page, :html end end def cache_page_with_html(metadata,content,path) return unless perform_caching cache_path=html_cache_path(path) logger.info("Caching Page: #{cache_path}") metadata = YAML.load(metadata) if (File.extname(cache_path).blank? || File.extname(cache_path) == ".seo") && (metadata['Content-Type'].nil? || metadata['Content-Type'].starts_with?('text/html')) cache_path = cache_path + '.html' end begin FileUtils.makedirs(File.dirname(cache_path)) File.open(cache_path, 'wb') { |f| f.write(content) } rescue Errno::EISDIR, Errno::EEXIST logger.error "StaticHTMLCache::NameCollisionError (Directory MisRepresentation):\n Strange Naming Scheme for URI: #{path}" nil end end def html_cache_path(path) cache_path = page_cache_path(path) if (cache_path.ends_with?('_site-root')) cache_path.sub!(/_site-root$/, 'index') end cache_path end end -Original Message- From: radiant-boun...@radiantcms.org [mailto:radiant-boun...@radiantcms.org] On Behalf Of Jim Gay Sent: Wednesday, July 01, 2009 3:42 PM To: radiant@radiantcms.org Subject: Re: [Radiant] Static caching On Jul 1, 2009, at 4:34 PM, Jordon Bedwell wrote: > Does anybody know of a plugin that "actually" works for static > caching? Or a > way I can pull the Radiant Cache Files with NGINX. Right now we > would like > to maintain control over output speed, and with Flickr having such > horrible > response times on their API we tend to lock up for a second and a > refresh on > a page causing RadiantCMS to avoid it's own internal cache and > refresh, > which tends to lead to a slow page. We tried the simple static_caching > extension listed on the extensions page, however, we get horrible > errors. > > > > www:/var/app/radiant# script/extension install static_caching > > Initialized empty Git repository in /tmp/static_caching/.git/ > > remote: Counting objects: 175, done. > > remote: Compressing objects: 100% (145/145), done. > > remote: Total 175 (delta 61), reused 49 (delta 21) > > Receiving objects: 100% (175/175), 28.31 KiB, done. > > Resolving deltas: 100% (61/61), done. > > rake aborted! > > Don't know how to build task > 'radiant:extensions:static_caching:migrate' > This likely means there is no migrate task. > > (See full trace by running task with --trace) > > rake aborted! > > Don't know how to build task > 'radiant:extensions:static_caching:update' > Also, there is probably no update task. > > (See full trace by running task with --trace) > > www:/var/app/ radiant# rake production db:migrate:extensions > > (in /var/app/ radiant) > > rake aborted! > > uninitialized constant StaticCachingExtension::ResponseCache > I'm assuming you are running on Radiant 0.8.0 which has done away with ResponseCache and now uses Radiant::Cache So this static_caching extension probably has not been updated for Radiant 0.8.0 > > > (See full trace by running task with --trace) > > > > Actually tbh, the migrate and update happens on ALL extensions I > install, > but that's not an issue because if I run rake production > db:migrate:extensions the extensions work and install. However, I > cannot > get this one to play nice at all. So any help is appreciated (and > if this > is the wrong place to ask sorry) since I am new to RadiantCMS. This is the right place to ask. Extension development is usually done by their respective authors, so you may want to contact them directly too if this list doesn't help. -Jim ___ Radiant mailing list Post: Radiant@radiantcms.org Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant ___ Radiant mailing list Post: Radiant@radiantcms.org Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Re: [Radiant] Static caching
On Jul 1, 2009, at 5:52 PM, Jordon Bedwell wrote: I've decided to branch off the project so I can start to Learn both Ruby and RadiantCMS for more than how to powerhouse and run a server for it. Can anyone help me with this error: undefined method `cache_page' for module `Radiant::Cache' It means roughly what it says. The method 'cache_page' is undefined (it doesn't exist) in Radiant::Cache A simple search and replace of ResponseCache with Radiant::Cache won't do the trick. You'll need to dive into Rack and Rails a bit to understand Radiant::Cache Rack::Cache is relatively new, new to Rails, and new to Radiant. You may even find that you throw away most of what this extension does (I don't personally know it well) because Radiant used to handle it's own caching with ResponseCache but it now basically hands off the heavy work to Rack::Cache (via Radiant::Cache) Start digging into Radiant::Cache and follow it into Rack::Cache (bundled with the Radiant source) and at first glance you may want to look at Rack::Cache::EntityStore::Disk "write" method static_html_cache_extension.rb class StaticHtmlCacheExtension < Radiant::Extension version "0.1a" description "\"Static\" (X)HTML Caching" def activate Radiant::Cache.instance_eval { include StaticHTMLCache } end def deactivate return end end /lib/static_html_cache.rb: module StaticHTMLCache def self.included(base) base.instance_eval do alias_method_chain :cache_page, :html end end def cache_page_with_html(metadata,content,path) return unless perform_caching cache_path=html_cache_path(path) logger.info("Caching Page: #{cache_path}") metadata = YAML.load(metadata) if (File.extname(cache_path).blank? || File.extname(cache_path) == ".seo") && (metadata['Content- Type'].nil? || metadata['Content-Type'].starts_with?('text/html')) cache_path = cache_path + '.html' end begin FileUtils.makedirs(File.dirname(cache_path)) File.open(cache_path, 'wb') { |f| f.write(content) } rescue Errno::EISDIR, Errno::EEXIST logger.error "StaticHTMLCache::NameCollisionError (Directory MisRepresentation):\n Strange Naming Scheme for URI: #{path}" nil end end def html_cache_path(path) cache_path = page_cache_path(path) if (cache_path.ends_with?('_site-root')) cache_path.sub!(/_site-root$/, 'index') end cache_path end end -----Original Message----- From: radiant-boun...@radiantcms.org [mailto:radiant-boun...@radiantcms.org ] On Behalf Of Jim Gay Sent: Wednesday, July 01, 2009 3:42 PM To: radiant@radiantcms.org Subject: Re: [Radiant] Static caching On Jul 1, 2009, at 4:34 PM, Jordon Bedwell wrote: Does anybody know of a plugin that "actually" works for static caching? Or a way I can pull the Radiant Cache Files with NGINX. Right now we would like to maintain control over output speed, and with Flickr having such horrible response times on their API we tend to lock up for a second and a refresh on a page causing RadiantCMS to avoid it's own internal cache and refresh, which tends to lead to a slow page. We tried the simple static_caching extension listed on the extensions page, however, we get horrible errors. www:/var/app/radiant# script/extension install static_caching Initialized empty Git repository in /tmp/static_caching/.git/ remote: Counting objects: 175, done. remote: Compressing objects: 100% (145/145), done. remote: Total 175 (delta 61), reused 49 (delta 21) Receiving objects: 100% (175/175), 28.31 KiB, done. Resolving deltas: 100% (61/61), done. rake aborted! Don't know how to build task 'radiant:extensions:static_caching:migrate' This likely means there is no migrate task. (See full trace by running task with --trace) rake aborted! Don't know how to build task 'radiant:extensions:static_caching:update' Also, there is probably no update task. (See full trace by running task with --trace) www:/var/app/ radiant# rake production db:migrate:extensions (in /var/app/ radiant) rake aborted! uninitialized constant StaticCachingExtension::ResponseCache I'm assuming you are running on Radiant 0.8.0 which has done away with ResponseCache and now uses Radiant::Cache So this static_caching extension probably has not been updated for Radiant 0.8.0 (See full trace by running task with --trace) Act
RE: [Radiant] Static caching
-Original Message- From: radiant-boun...@radiantcms.org [mailto:radiant-boun...@radiantcms.org] On Behalf Of Jim Gay Sent: Wednesday, July 01, 2009 7:59 PM To: radiant@radiantcms.org Subject: Re: [Radiant] Static caching > It means roughly what it says. The method 'cache_page' is undefined > (it doesn't exist) in Radiant::Cache > A simple search and replace of ResponseCache with Radiant::Cache won't > do the trick. You'll need to dive into Rack and Rails a bit to > understand Radiant::Cache > Rack::Cache is relatively new, new to Rails, and new to Radiant. > > You may even find that you throw away most of what this extension does > (I don't personally know it well) because Radiant used to handle it's > own caching with ResponseCache but it now basically hands off the > heavy work to Rack::Cache (via Radiant::Cache) > Start digging into Radiant::Cache and follow it into Rack::Cache > (bundled with the Radiant source) and at first glance you may want to > look at Rack::Cache::EntityStore::Disk "write" method Thanks. I'll start digging around in core files and see if I can't figure it out. :D ___ Radiant mailing list Post: Radiant@radiantcms.org Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant