Quoting Koen Deforche <[EMAIL PROTECTED]>: > Hey Pau, > > 2008/7/6 Pau Garcia i Quiles <[EMAIL PROTECTED]>: >>>> Am I wrong? Shouldn't "--docroot" be enforced? Or maybe something like >>>> BinReloc ( http://autopackage.org/docs/binreloc/ ) to use the >>>> directory where the binary is as the root? (I like docroot enforced >>>> better, FWIW) >>> >> Sorry, I didn't explain exactly well :-) >> >> Look for instance at the 'composer' example, in ComposeExample.C: >> >> WApplication *app = new WApplication(env); >> app->messageResourceBundle().use("composer"); >> app->useStyleSheet("composer.css"); >> >> As no path is specified, WApplication::useStyleSheet looks for >> 'composer.css' in the directory you are when you start the >> application, not in docroot, not where the binary is. Same thing for >> WMessageResourceBundle::use. That's the problem I found: I was >> expecting Wt to look for composer.xml and composer.css in docroot. > > Now I get it. > >> WApplication::docroot returning a string with the docroot, then >> loading the XML, CSS, CSV files, etc like this: >> >> WApplication *app = new WApplication(env); >> app->messageResourceBundle().use(app->docroot() + "composer"); >> app->useStyleSheet(app->docroot() + "composer.css"); >> >> Then, in the 'charts' example, you'd do: >> std::istream << ( app->docroot() + "file.csv" ) > > Unfortunately, as far as I can tell, there is no robust way to > implement docroot() when using the FastCGI adapter... > > The --docroot is really something that affects the web server, and I > think it should not be confused with paths that are important to the > application. For example, the above example makes the assumption that > --deploy-path='/', you would probably want something that combines > docroot and deploy-path to get to the physical location of the > application, but then why go through all the trouble if 'binreloc' > does exactly that. > > But since Wt itself does not do anything with the information provided > by 'binreloc', it is perhaps wiser to add binreloc() to your > application if you want that and leave it out of the library (it is > nothing related to Web Toolkit stuff) ? > > I think --docroot and the location where you read files should not > necessarily be the same. In fact, only files that need to be served by > the web server should be in docroot, and anything else should ideally > be out of the docroot?
I don't know FastCGI at all but what you say makes sense save for this > That is not how the examples, for simplicity, > are organized, but adding an API and coding the examples to that API > would be even worse ? One would expect that WApplication::useStyleSheet and WMessageResourceBundle::use look for the CSS stylesheet and the localization XML in the docroot or where the binary is. Given that this is not the case, I think the docs should make explicit this is not the case and the examples should have a comment explaining this or even use BinReloc. -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
