Forum OpenACS Q&A: Survey, who needs help customizing OpenACS 3.2.4?

I was planning on writing a play-by-play account of how I customized
and learned what OpenACS could do. It appears that quite a few people
have downloaded the software, got the server up and running, and then
sais "now what?".

The system is huge and complicated. If you don't have a clear idea of
what you want to do, or even what is possible, it can be
intimidating. I know everything is documented somewhere, but OpenACS
is really not that hard to learn if you take the time. I think many
users may have given up trying due to the huge amount of code you
need to wade through to get the main concepts.

Anyway, is anyone interested in a step-by-step account of customizing
OpenACS to create an integrated look-and-feel of a site using version
3.2.4?

When I decided to do this, 4.0 was announced and it looks like the
article for that one will be totally unrelated to the 3.2.4 version.
If anyone still wants to customize 3.2.4 I will write it.

Yes, please! That would be very helpful to me. I had been planning to write it eventually, as well, but if you get it done, I'll try to see what I can add to your document, instead of the other way around.

Dave -- I'd be very interested in seeing that topic discussed. There remains a chasm between installing the (open)ACS and getting it to do interesting things. The more documentation about your experience, the better off the whole community will be.

I also don't think that writing about 3.2.x will be a waste of time; IMO it will remain in general use for quite some time.

This is the type of information I was most looking for! This could be very valuable!
Ok, good enough for me. I need practice writing anyway! I already have an outline. I will start out with what I have already done, and expand it when I learn more. I will post the link in the next couple of days.
This is also an issue for ACS Classic, and customization isn't particularly dependent on whether you're using PostgreSQL or Oracle.

So...you might write it in a general manner, making it clear that it is useful for ACS Classic newbies as well.

Not to be reduntant, but I'll add another 'Aye' vote.

I'm in the process of customizing the ACS to act (initally) as a knowledge base for my department.  I often get the "now what?" feeling when I'm looking around at all the modules available.

In a nutshell, my approach is going to be to get a couple of modules working and then get them "live", and take it from there.  This will also involve putting in the infrastructure of users, web server, etc.

One key area that I didn't really think about when I started out doing this (and I know this might sound stupid...), is the home/start page.  The basic 'please log in/register' screen obviously isn't going to cut it.

Don't want the thread to wander too far from the topic, but maybe these will be useful for someone to avoid re-creating the wheel.

I did an implementation similar to what Phil is describing.  For a home page, I replaced the <index.tcl> file with an <index.adp> file at the top level of the ACS tree -- an HTML file would also work fine, but I hacked it with a login link that, once logged in, shows a user name instead of the login graphic:

<%

set user_id [ad_get_user_id]

set db [ns_db gethandle]

if { $user_id != 0 } {

        set user_name [database_to_tcl_string $db "select first_names || ' ' || last_name as name from users where user_id = $user_id and user_state <> 'deleted'"]

        ns_puts "<P ALIGN=Center> <A href="/pvt/home"><BIG><B><font color="#0000c0">$user_name</A>

        "

        } else {

        ns_puts "<P ALIGN=Center> <A href="/register"><IMG src="graphics/sign-in.jpg" width="137" height="30"  alt="Sign In" align="middle"></A>

        "

}

%>

I also put a call to:

# Intranet security added by RF, 20000925

set user_id [ad_verify_and_get_user_id]

ad_maybe_redirect_for_registration

at the top of each level (bboard, etc.) to redirect folks if they hadn't logged in.  The top level of the site is on the web, but the contents aren't visible unless one is a member.

The third minor mod I made was to add a grep function to the sign-in (/register/to allow members of my organization to create their own accounts as long as they have an email address at my company:

# user-new.tcl,v 3.0.4.1 2000/03/15 17:24:38 jsalz Exp

#

# user-new.tcl

#

# presents a registration form to a new user

#

set_the_usual_form_variables

# email, return_url, maybe password

# Hack for titan added by RF, 20000924

if {![regexp (.+)titan.com $email] } {

    ns_returnredirect "index.tcl"

    return
}

Unless a requester is from mycompany.com, they just keep getting thrown back to the login prompt.

Help on customizing would be greatly appreciated.  That area does not have much documentation...(if any)
There's a small amount of documentation on that at the OpenACS Getting Started Guide. It shows how to customize headers and footers, register customized ADP tags with the ACS facilities, use templating and points to Karl's templating system.

It's not much but it's something. I wrote it because those were the most frequently asked questions. A bigger and more detailed document would be great.

I do, I do! I'm customizing 3.2.4 and a bit of documentation would sure be helpful.
I guess I should have been more specific. What areas are you most in need of assistance? That way I can focus my efforts to the most popular questions.