Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-community-memberships-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-community-memberships-create.sql,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/dotlrn/sql/oracle/dotlrn-community-memberships-create.sql	10 Jan 2002 19:30:17 -0000	1.6
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-community-memberships-create.sql	7 Mar 2002 22:22:44 -0000	1.7
@@ -13,13 +13,11 @@
 --
 
 create table dotlrn_member_rels (
-    rel_id                      integer
-                                constraint dlrn_mem_fk
+    rel_id                      constraint dotlrn_member_rels_rel_id_fk
                                 references membership_rels (rel_id)
-                                constraint dlrn_mem_pk
+                                constraint dotlrn_member_rels_rel_id_pk
                                 primary key,
-    portal_id                   integer
-                                constraint dlrn_mem_portal_id_fk
+    portal_id                   constraint dotlrn_member_rels_portal_fk
                                 references portals (portal_id)
 );                                          
 
@@ -35,79 +33,93 @@
     where dotlrn_member_rels.rel_id = acs_rels.rel_id;
 
 create table dotlrn_admin_rels (
-    rel_id                      integer
-                                constraint dlrn_adm_fk
+    rel_id                      constraint dotlrn_admin_rels_rel_id_fk
                                 references dotlrn_member_rels (rel_id)
-                                constraint dlrn_adm_pk
+                                constraint dotlrn_admin_rels_rel_id_pk
                                 primary key
 );
 
 create or replace view dotlrn_admin_rels_full
 as
     select acs_rels.rel_id as rel_id,
-           object_id_one as community_id,
-           object_id_two as user_id,
-           rel_type,
-           portal_id
+           acs_rels.object_id_one as community_id,
+           acs_rels.object_id_two as user_id,
+           acs_rels.rel_type,
+           dotlrn_member_rels.portal_id
     from dotlrn_member_rels,
          dotlrn_admin_rels,
          acs_rels
     where dotlrn_member_rels.rel_id = acs_rels.rel_id
     and dotlrn_admin_rels.rel_id = acs_rels.rel_id;
 
-
 --
 -- For Classes
 --
 
 create table dotlrn_student_rels (
-    rel_id                      integer
-                                constraint dlrn_stud_fk
+    rel_id                      constraint dotlrn_student_rels_rel_id_fk
                                 references dotlrn_member_rels (rel_id)
-                                constraint dlrn_stud_pk
+                                constraint dotlrn_student_rels_rel_id_pk
                                 primary key
 );
 
 create or replace view dotlrn_student_rels_full
 as
     select acs_rels.rel_id as rel_id,
-           object_id_one as community_id,
-           object_id_two as user_id,
-           rel_type
+           acs_rels.object_id_one as community_id,
+           acs_rels.object_id_two as user_id,
+           acs_rels.rel_type
     from dotlrn_student_rels,
          acs_rels
     where dotlrn_student_rels.rel_id = acs_rels.rel_id;
 
 create table dotlrn_ta_rels (
-    rel_id                      integer
-                                constraint dlrn_ta_fk
+    rel_id                      constraint dotlrn_ta_rels_rel_id_fk
                                 references dotlrn_admin_rels (rel_id)
-                                constraint dlrn_ta_pk
+                                constraint dotlrn_ta_rels_rel_id_pk
                                 primary key
 );
 
 create or replace view dotlrn_ta_rels_full
 as
     select acs_rels.rel_id as rel_id,
-           object_id_two as community_id,
-           object_id_two as user_id,
-           rel_type
+           acs_rels.object_id_one as community_id,
+           acs_rels.object_id_two as user_id,
+           acs_rels.rel_type
     from dotlrn_ta_rels,
          acs_rels
     where dotlrn_ta_rels.rel_id = acs_rels.rel_id;
 
+create table dotlrn_ca_rels (
+    rel_id                      constraint dotlrn_ca_rels_rel_id_fk
+                                references dotlrn_admin_rels (rel_id)
+                                constraint dotlrn_ca_rels_rel_id_pk
+                                primary key
+);
+
+create or replace view dotlrn_ca_rels_full
+as
+    select acs_rels.rel_id,
+           acs_rels.object_id_one as community_id,
+           acs_rels.object_id_two as user_id,
+           acs_rels.rel_type
+    from dotlrn_ca_rels,
+         acs_rels
+    where dotlrn_ca_rels.rel_id = acs_rels.rel_id;
+
 create table dotlrn_instructor_rels (
-    rel_id                      integer
-                                constraint dlrn_instruct_fk references dotlrn_admin_rels(rel_id)
-                                constraint dlrn_instruct_pk primary key
+    rel_id                      constraint dotlrn_instructor_rels_rel_fk
+                                references dotlrn_admin_rels(rel_id)
+                                constraint dotlrn_instructor_rels_rel_pk
+                                primary key
 );
 
 create view dotlrn_instructor_rels_full
 as
     select acs_rels.rel_id as rel_id,
-           object_id_two as community_id,
-           object_id_two as user_id,
-           rel_type
+           acs_rels.object_id_two as community_id,
+           acs_rels.object_id_two as user_id,
+           acs_rels.rel_type
     from dotlrn_instructor_rels,
          acs_rels
     where dotlrn_instructor_rels.rel_id = acs_rels.rel_id;
@@ -164,8 +176,8 @@
     acs_rel_type.create_type (
         rel_type => 'dotlrn_ta_rel',
         supertype => 'dotlrn_admin_rel',
-        pretty_name => 'dotLRN TA Community Membership',
-        pretty_plural => 'dotLRN TA Community Memberships',
+        pretty_name => 'dotLRN Teaching Assistant Community Membership',
+        pretty_plural => 'dotLRN Teaching Assistant Community Memberships',
         package_name => 'dotlrn_ta_rel',
         table_name => 'dotlrn_ta_rels',        
         id_column => 'rel_id',
@@ -176,6 +188,20 @@
     );
 
     acs_rel_type.create_type (
+        rel_type => 'dotlrn_ca_rel',
+        supertype => 'dotlrn_admin_rel',
+        pretty_name => 'dotLRN Course Assitant Community Membership',
+        pretty_plural => 'dotLRN Course Assitant Community Memberships',
+        package_name => 'dotlrn_ca_rel',
+        table_name => 'dotlrn_ca_rels',        
+        id_column => 'rel_id',
+        object_type_one => 'dotlrn_class_instance', role_one => null, 
+        min_n_rels_one => 0, max_n_rels_one => null,
+        object_type_two => 'user', role_two => 'course_assistant',
+        min_n_rels_two => 0, max_n_rels_two => null
+    );
+
+    acs_rel_type.create_type (
         rel_type => 'dotlrn_instructor_rel',
         supertype => 'dotlrn_admin_rel',
         pretty_name => 'dotLRN Instructor Community Membership',
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-init.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/dotlrn-init.sql,v
diff -u -r1.13 -r1.14
--- openacs-4/packages/dotlrn/sql/oracle/dotlrn-init.sql	19 Feb 2002 19:34:45 -0000	1.13
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-init.sql	7 Mar 2002 22:22:44 -0000	1.14
@@ -43,6 +43,7 @@
 
     -- create roles
     acs_rel_type.create_role ('student', 'Student', 'Students');
+    acs_rel_type.create_role ('course_assistant', 'Course Assistant', 'Course Assistants');
     acs_rel_type.create_role ('teaching_assistant', 'Teaching Assistant', 'Teaching Assistants');
     acs_rel_type.create_role ('instructor', 'Professor', 'Professors');
     acs_rel_type.create_role ('admin', 'Administrator', 'Administrators');
Index: openacs-4/packages/dotlrn/tcl/class-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/class-procs.tcl,v
diff -u -r1.23 -r1.24
--- openacs-4/packages/dotlrn/tcl/class-procs.tcl	6 Mar 2002 22:35:15 -0000	1.23
+++ openacs-4/packages/dotlrn/tcl/class-procs.tcl	7 Mar 2002 22:22:44 -0000	1.24
@@ -135,6 +135,7 @@
     } {
         return {
             {instructor_rel "Professor"}
+            {aa_rel "Course Assistant"}
             {ta_rel "Teaching Assistant"}
             {student_rel "Student"}
             {admin_rel "Administrator"}
Index: openacs-4/packages/dotlrn/tcl/community-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/community-procs.tcl,v
diff -u -r1.67 -r1.68
--- openacs-4/packages/dotlrn/tcl/community-procs.tcl	7 Mar 2002 20:58:21 -0000	1.67
+++ openacs-4/packages/dotlrn/tcl/community-procs.tcl	7 Mar 2002 22:22:44 -0000	1.68
@@ -316,7 +316,7 @@
         }
 
         if {$community_type == "dotlrn_class_instance"} {
-            return {dotlrn_student_rel dotlrn_ta_rel dotlrn_instructor_rel dotlrn_admin_rel}
+            return {dotlrn_student_rel dotlrn_ta_rel dotlrn_instructor_rel dotlrn_ca_rel dotlrn_admin_rel}
         }
 
         if {$community_type == "dotlrn_club"} {
@@ -333,7 +333,7 @@
     ad_proc -public get_all_roles {} {
         return the list of roles used in dotLRN
     } {
-        return {dotlrn_admin_rel dotlrn_member_rel dotlrn_instructor_rel dotlrn_ta_rel dotlrn_student_rel}
+        return {dotlrn_admin_rel dotlrn_member_rel dotlrn_instructor_rel dotlrn_ca_rel dotlrn_ta_rel dotlrn_student_rel}
     }
 
     ad_proc -public get_all_roles_as_options {} {
@@ -353,8 +353,11 @@
     } {
         Returns a pretty version of the rel_type
     } {
-        set pretty_name [db_string select_pretty_name "select pretty_name from acs_object_types where object_type = :rel_type"]
-        return $pretty_name
+        return [db_string select_pretty_name {
+            select pretty_name
+            from acs_object_types
+            where object_type = :rel_type
+        }]
     }
 
     ad_proc -public get_role_pretty_name {
Index: openacs-4/packages/dotlrn/www/communities-chunk.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/communities-chunk.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/dotlrn/www/communities-chunk.adp	23 Jan 2002 04:58:08 -0000	1.4
+++ openacs-4/packages/dotlrn/www/communities-chunk.adp	7 Mar 2002 22:22:44 -0000	1.5
@@ -5,7 +5,7 @@
 
 <if @communities:rowcount@ gt 0>
 <multiple name="communities">
-  <table width="85%" cellpadding="5" cellspacing="5">
+  <table>
 <group column="root_community_type">
     <tr>
       <td width="65%"><a href="@communities.url@">@communities.pretty_name@</a></td>