Forum OpenACS Q&A: Response to groups admin UI - designed by aliens?

Collapse
Posted by Jun Yamog on
Hi Janine,
<p>
My advise is study the data model and plsql first.  The UI is very data modelly and plsql.  After being familiar with it more or less the links in the UI is like what is really underneath.  Membership and composition is very powerful, although I wished all that power can be harnessed through a UI rather than putting everything that groups can do on a UI.
<p>
Anyway you can try this api out and create your own.  I have done small UI for one of our projects.  Here are the helpful api.

<pre>
            #create the group
            set group_id [db_exec_plsql create_group "
            select acs_group__new(
                null,              -- group_id
                'group',            -- object_type
                now(),              -- creation_date
                :creation_user,    -- creation_user
                :creation_ip,      -- creation_ip
                null,              -- email
                null,              -- url
                :name,              -- group_name
                'needs approval',  -- join_policy
                null                -- context_id
            )"]

relation_add composition_rel $main_site_group $group_id

            # delete the relationship
            set rel_id [db_string get_relid "select rel_id from acs_rels where object_id_two = :group_id
and rel_type = 'composition_rel'"]
            relation_remove $rel_id

            # delete the group
            db_exec_plsql delete_group "select acs_group__delete(:school_id)"


            relation_add -creation_user $creation_user -creation_ip $creation_ip -member_state
"needs approval" membership_rel $teacher_group_id $user_id

if {![group::member_p -user_id $user_id -group_name
"Hastertwatch Teachers"]} {
</pre>

Those procs should be the likely procs you will use incase you make a small custom UI.  Sorry for the code flood.  I am a bit busy and could not have the time to explain and format this groups stuff.