Forum OpenACS Q&A: What is the recommended way to do this?

I have been given a completely bonkers design for a website that has been prepared by a paper brochure designer (sound familiar!?). It has a load of fussy and precisely located bits and pieces contained within a green outer frame with (of course) curved corners that anything before IE8 won't support in css. The green frame bounds the page on all four sides, effectively fixing the page size.

I want to set up some of the ACS applications on this site but will do so by creating a template and style that refers to the 'brochure' style but is not constrained by it. However I still want to have the landing page displayed as the paper brochure designer intended (i.e. without the default context bar, log-in, etc.). I would like to build custom page templates in xiwiki so that this 'brochure' content can be managed by completing forms rather as ETP used to do.

In other words, a new arrival at the site would see what looks like a static site designed by someone who has never used the internet before (served from xowiki), and on clicking a link you go through to a more sane OpenACS (in matching green of course!) behind the scenes.

Is there a simple way of taking over the entire browser screen, without hacking away at the default and master templates?

Just thought I'd ask before digging myself a huge hole and jumping headlong into it.



Posted by Dave Bauer on
Edit index.adp

Remove the delcaration to master or create a new master template just for that.

Posted by Don Baccus on
Make your own theme package and bury the crap in the theme's master template, having it determine whether or not to wrap the page with a navigation etc.

Making a theme package is easy enough, just clone openacs-default-theme giving your own name, and then in the apm callback change the call that makes the theme known to the system to use your theme name, your css, your master, etc.

In this way you don't have to fork any of our standard files, which should make updating your acs-core etc easier in the future ...

Posted by Richard Hamilton on
Brilliant - thanks Don. That was exactly the kind of thing I was hoping for.

Plenty to go at!


Posted by Richard Hamilton on

Just trying to follow through your instructions but getting a tad confused.

I have cloned the openacs-default-theme and renamed all occurences of that name to myown-default-theme. Reading through your comments in apm-callback-procs.tcl just before the parameter::set_default directive your comments say:

"Don't do this if you're creating your own theme package! Override the default by creating a custom install.xml file to be run during the install process..."

I have searched the /packages directory for examples of install.xml files but there are only three which are inside the /docs directories (e.g. the one in the categories package) and they seem to contain readable documentation.

I can see that the idea is that an install.xml file would be parsed and references to procs in the install-procs.tcl file would be activated by it. However I am not clear where this install.xml file should be put or where the tcl procs it refers to should correctly go.

I am also not clear why I shouldn't just set the parameters in the after install callback tcl proc as per openacs-default-theme.

(I wonder if the reference to install.xml literally a file called install.xml, or is it intended to mean the file which is in fact an xml file).

Sorry to have to ask.