that would make dir_group_memberss view easy:
create view dir_group_members as
select p.party_id as user_id, p.email, pe.first_names, pe.last_name, p.url, gem.group_id
from parties p, persons pe, group_approved_member_map gem
where p.party_id = pe.person_id
and p.party_id = gem.member_id
for dir_all_users - is there any case when a registered user will be a member of no groups and thus not appear in group_approved_member_map? (all users seem to appear in both magic groups -1 and -2)
if not, then i can simplify directory to only need one of these two views.