"Using Michael's example of students in a class modeled as an acs group, you
might create a new relationship type 'learning' for students and another type
'teaching' for professors. Both students and professors are now members of the
group, and you can treat them as a whole for purposes of permissions, spam
etc."
But this has nothing to do with relational segments. You're just talking about relations. If you wanted, for example, to spam
all of the members of a group that had a 'learning' relation with the group, you wouldn't need to use relational segments.
" It is also useful to treat the students and professors as seperate groups, for
example to assign professors some extra privilege such as bboard admin. You
could create a new group and add the professors, making sure to keep membership
in both groups in sync, or you can use relational segments."
Again this sounds like something that you could do with relations, maybe you could elaborate on how relational segments
would be used in this case.
" Relational segemnts define the members of a group based on some existing
relationship they have to another group."
I think that you can assign that meaning to a relational segment, but as I said before, relational segments only define relations
to groups. Look at the data-model for relational segments:
create table rel_segments (
segment_id integer not null
constraint rel_segments_segment_id_fk
references parties (party_id)
constraint rel_segments_pk primary key,
segment_name varchar(230) not null,
group_id integer not null
constraint rel_segments_group_id_fk
references groups (group_id),
rel_type varchar(100) not null
constraint rel_segments_rel_type_fk
references acs_rel_types (rel_type),
constraint rel_segments_grp_rel_type_uq unique(group_id, rel_type)
);
The essence of a relational segment is a (group_id,rel_type) pair, and the parties/relations data-models stand-alone without
the use of relational segments. Defining members of groups based on some existing relationship is accomplished with the use
of Relations - Not relational segments.