Re: [Radiant] Static caching

2009-07-01 Thread Jim Gay

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

2009-07-01 Thread Jordon Bedwell
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

2009-07-01 Thread Jim Gay


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

2009-07-01 Thread Jordon Bedwell
-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