---
title: "Generator: GetMemberGroups"
source: https://dev.pageseeder.com/reference/advanced/website/berlioz/generators/org.weborganic.bastille.pageseeder.GetMemberGroups.html
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~778
---

# Generator: GetMemberGroups

| Property | Value |
| --- | --- |
| Class name: | org.weborganic.bastille.pageseeder.GetMemberGroups |
| Version: | 0.8.1 - 18 December 2012 |
| Library: | Bastille |
| Cacheable: | No |
| Generated: | 2012-12-21 |

## Description

A generator that returns the list of projects and groups a user is a member of.

### Configuration

There is no configuration associated with this generator.

### Parameters

No parameter is required; however, the user does need to be logged in as a PageSeeder user.

### Returned XML

This generator invokes a PageSeeder service and returns the content of this service verbatim.

The content is wrapped in:

```xml

<ps-service resource="/members/[member id]/projects" 
            http-status="[status code]"
            content-type="application/xml">
  <!-- XML returned by PageSeeder Service -->
</ps-service>
```

The PageSeeder service returns the projects and group in hierarchical form. 

```xml

<projects for="[user email]">
  <!-- for each project -->
  <project id="[project id]"
           name="[name]"
           description="[description]"
           owner="[owner]"
           owner-directory="[owner dir]">
    <!-- for each group/sub-project -->
    <group id="[group id]"
           name="[name]"
           description="[description]"
           owner="[owner]"
           owner-directory="[owner dir]"/>
    <!-- more groups / sub-project ... -->
  </project>
  <!-- more projects ... -->
</projects>
```

#### Error handling 

If an error occurs while invoking the service, the XML also includes the `error` and `message` attributes. The HTTP status should correspond to an HTTP error code.

```xml

<ps-service resource="/members/[member id]/projects" 
            http-status="[error]"
            content-type="application/xml"
            error="[error-type]"
            message="[error-message]">
</ps-service>
```

#### Sample output

```xml

<content generator="com.weborganic.bastille.pageseeder.GetMemberGroups"
         name="classes"
         target="main"
         status="ok">
  <ps-service resource="/members/123/projects"
              http-status="200" 
             content-type="application/xml">
    <projects for="No Email">
      <project id="5"
               name="Project X" 
               owner="XYZ"
               owner-directory="project_x"
               description="This is Project X">
        <project id="6"
                 name="project_x-2011"
                 description="Project X in 2011 (Sub-project)"
                 owner="XYZ"
                 owner-directory="project_x-2011">
          <group id="7"
                 name="project_x-2011-dev" 
                 description="Dev group on project X in 2011"
                 owner="XYZ" owner-directory="project_x-2011"/>
        </project>
      </project>
    </projects>
  </ps-service>
</content>
```

### Usage

To use this generator in Berlioz (in `/WEB-INF/config/services.xml`): 

```xml

<generator class="org.weborganic.bastille.pageseeder.GetMemberGroups" 
           name="[name]"
           target="[target]"/>
```

