Forum OpenACS Q&A: ACS 3.4 Templates/Styles/Dynamic Publishing System etc...

I posted this on arsdigita. thought I would try my luck here:

I have a clean installation of ACS 3.4 . I would like to apply
templates to the entire site withou re-inventing the wheel. I have
read through all available documentation but this is very confusing
due to the lack of version numbers for templating modules and the
many pages about ACS 4.x templating schemes. All I really want to do
is to be able to apply a single file (or header/footer) template to
my entire site or to a folder. I have seen ACS 4.x templates(ATS) in
action. They are great but ACS 4.x doesn't have the functionality I
am looking for.

What are the established ways to implement site-wide templates. For
example, on how is the design kept constant. I'd also
like to hear from anybody else who has put this sort of scheme into

RANTlet: There seams to be alot of irrelavant documentation included
on ACS distributions these days. If its not implemented in my
distribution, I don't really want to know about it, no matter how
great it is.

Please if anybody can help me with this, it would be greatly
appreciated. This seams like such a routine function that I would
expect its documentation to be well established. I'd rather not
develop my own (perhaps inefficient) templating scheme and realize
later on that there was a better way.

Thank You,


Well, I am most familiar with the openACS 3.2 and can't say exactly what may have change since then, but here is what I recommend:

nearly every page in the ACS calls [ad_header] or one of its relatives at the top, and most call ad_footer at the bottom. You can wrap header and footer information in the definition of these procs.

caveat: if you open a <table> in the header and close it in the footer (a decent way to do sidebars), any page that doesn't have [ad_footer] will be broken.

Finally, you may find a couple of pages (the general permissions come to mind) that use the old templating system. Most of these call ad_header and footer as well.


ATS appeared on the scene somewhere around 3.3/3.4.

It seems to be included in the 3.4.10 download on  Unfortunately, I don't have a stock 3.4 server handy to test it on, but I know I used to use back in 3.x days (it was still under development back then so the way I was running it then isn't the way it should be run now).  Take a look at /doc/templates/ on your 3.4 server and read up on templating, then have fun and ask again if you can't get it working.  (The code is in /packages/templates, *not* in /templates/, which is an older temlpating system for ecommerce that is not nearly as cool as ATS)