Forum OpenACS Development: application modules as site-map directories?!?

I have been doing some hacking on the Site Map code. One of the guys I am working with someimtes would create a sub-site under an application node (which as far as I can tell is meaningless). When the directory_p column of the site_nodes table is set correctly (and the code modified to handle it) the new subfolder link is suppressed, preventing this problem. But I am wondering..

Is there any reasonable case where nodes under an application instance (either subsites or other modules) makes sense?

TIA.

Regards..

Collapse
Posted by Barry Books on
multiple subsites are usefull because you can group users to subsites and give admin privileges to the subsite without giving it to the whole site.

Creating nodes with no appliacations is usefull if you have a mixture of static and dynamic content. That was you can build a site map that matches the static site and put packages where you want them

Thanks, Barry. Your comments make complete sense to me, but I was asking more about the reverse case (i.e. configuring nodes below applications in the tree).

On a related subject....

I have been thinking for some time about an issue related to your second comment, where can/should static content for a sub-site go? If I have a subsite mounted under the main site called Casa de Fulan say, it is not clear to me how to hook the static content to this subsite. As far as I can tell, I need to make a directory (in the file system) under /web/servername/www. But I do not see a way to map this to the subsite definition in the site map.

Obviously, I can enforce my own linkage between these, but I thought the purpose of the site map was to make the RP aware of this. The only other subsite-unique directories that I can find in the file system are in the skin package. It seems not to make sense to hook a subsite under a package.

Am I missing something here? (I hope so!)

I have been thinking about a parameter to the subsite application (if that is what to call it) that would be looked at by the request processor to help deal with this. Basically, I am making a big deal about this since I thought that the RP is the best way to have the permissions system handle accesses to the static content.

Regards..

Don:

If the answer to the original problem turns out to be no, I can put this one in the SDM also if you request.

The logic problem is that the column in question is set to 't' when the new subfolder is created, and never changed. I think it should become 'f' when/if an application is mounted at that node in the tree. And it should be reset at unmount-time.

Additionally, there is a misplaced brace in the site map code such that when the column (for that node) is set to 'f', all links are not displayed, including things you want like unmount.

I figured out the second fix, but I am still working on the first one (i.e. application-mount time).

Regards..

...where can/should static content for a sub-site go? If I have a subsite mounted under the main site called Casa de Fulan say, it is not clear to me how to hook the static content to this subsite. As far as I can tell, I need to make a directory (in the file system) under /web/servername/www. But I do not see a way to map this to the subsite definition in the site map.

I don't think you need to map the static content to the subsite. One thing about the request processor that is not exactly highlighted in the documentation is that it (seems to be) designed to work with parallel directories under the pageroot and amongst the mounted directories. So if you have a subsite under /foo, you can create a directory under /web/servername/www/foo and put the files there - just as you thought. The request processor will return mounted files if it finds them, then look under the page root if it doesn't. So if you create /web/servername/www/foo/admin, the request processor ignores that and serves the (automatically) mounted admin directory for the subsite.

I'm not sure what the best way is to make "static" pages subsite-aware. (To have them use the master template for the subsite, for instance.) Maybe someone else can chime in here.

Collapse
Posted by Stephen . on
The request processor will return mounted files if it finds them, then look under the page root if it doesn't. So if you create /web/servername/www/foo/admin, the request processor ignores that and serves the (automatically) mounted admin directory for the subsite.
It's the other way round. This alows you to override pages in a package for a particular instance.

It sounds like Roger needs to create a folder with the site map under his subsite. If the subsite is mounted at /casa, then create a folder (but do not mount anything on it) /casa/static. He can then use the 'permissions' link to restrict access /casa/static to whoever...

As alex says, this static content would be placed at /web/servername/www/casa/static in the filesystem.

Collapse
Posted by Barry Books on
What would be nice is if you could override the adp file and still use the tcl file from the package. I believer the current verson gets the pair from the filesystem then from the package.