[Seaside] WAFileLibrary / Resource Path
ssastre at seaswork.com
Fri Aug 17 18:31:11 UTC 2007
> Since WAFileLibrary doesn't have a convenient way to generate
> resource-relative URLs -- without "/seaside/files" prepended
> -- I added a couple of methods to accomplish this. It's not
> strictly necessary by itself -- I can replicate the
> /seaside/files path in my
> S3 bucket, but I didn't want to have to mirror the entire path on S3.
As a kind of different approach, I think the seaside application can be used
for this. And could be good because it is who knows if it is in development
or deployed mode. I imagine you can make:
resourceUrl: 'niceImage' asResourceURL;
^ WACurrentSession value resourceURLFor: self
"Answers the proper url for aResourceName"
^ self application isDeployed
ifTrue:[self productionResourceURLFor: aResourceName]
ifFalse:[self developmentResourceURLFor: aResourceName]
"Answers the url for aResourceName from development"
"Answers the url for aResourceName for the deployed application"
^ ((WAUrl new
addToPath: WADispatcher default basePath ,
yourself) addToPath: aResourceName) asString
Could do the trick?
PD: if you have more than one library then that method could be a little
more clever to answer the proper urls by detecting where aResourceName is in
all the libraries of the application.
More information about the Seaside