Discussions are a key part of activeCollab where people can discuss various aspects of a project in an environment similar to online forums. Each project has a separate discussion area.

1. Discussion Fields

  1. name (string) - Discussion topic. This field is required when topic is created;
  2. body (string) - First message body. This field is required when topic is created;
  3. tags (string) - List of comma-separated tags;
  4. visibility (integer) - Discussion visibility. 0 is private and 1 is normal visibility;
  5. milestone_id (integer) - ID of parent milestone;
  6. parent_id (integer) - ID of parent category.

2. /projects/:project_id/discussions

Displays all discussions in a project.

Method: GET.

Example response:

<discussions>
  <discussion>
    <id>11</id>
    <type>
      <![CDATA[Discussion]]>
    </type>
    <name>
      <![CDATA[Updated Name]]>
    </name>
    <body>
      <![CDATA[This is first message!]]>
    </body>
    <state>...</state>
    <visibility>...</visibility>
    <created_on>...</created_on>
    <created_by_id>...</created_by_id>
    <updated_on>...</updated_on>
    <updated_by_id>...</updated_by_id>
    <version>...</version>
    <permalink>...</permalink>
    <project_id>...</project_id>
    <parent_id>...</parent_id>
    <milestone_id>...</milestone_id>
    <permissions>
      <can_edit>1</can_edit>
      <can_delete>1</can_delete>
      <can_change_visibility>1</can_change_visibility>
      <can_move>1</can_move>
      <can_copy>1</can_copy>
    </permissions>
  </discussion>
</discussions>

3. /projects/:project_id/discussions/add

Creates a new discussion in the specified project

Method: POST.

Request example:

submitted=submitted
discussion[name] = New Discussion
discussion[body] = This is first message!

Response:

<discussion>
  <id>11</id>
  <type>
    <![CDATA[Discussion]]>
  </type>
  <name>
    <![CDATA[New Discussion]]>
  </name>
  <body>
    <![CDATA[This is first message!]]>
  </body>
  <state>...</state>
  <visibility>...</visibility>
  <created_on>...</created_on>
  <created_by_id>15</created_by_id>
  <updated_on>...</updated_on>
  <updated_by_id>...</updated_by_id>
  <version>...</version>
  <permalink>...</permalink>
  <project_id>...</project_id>
  <parent_id>...</parent_id>
  <milestone_id>...</milestone_id>
  <permissions>
    <can_edit>1</can_edit>
    <can_delete>1</can_delete>
    <can_change_visibility>1</can_change_visibility>
    <can_move>1</can_move>
    <can_copy>1</can_copy>
  </permissions>
</discussion>

4. /projects/:project_id/discussions/:discussion_id

Displays discussion details. In addition to discussion details, this command also returns all comments posted, as part of comments property.

Method: GET

Response:

<discussion>
  <id>11</id>
  <type>
    <![CDATA[Discussion]]>
  </type>
  <name>
    <![CDATA[New Discussion]]>
  </name>
  <body>
    <![CDATA[This is first message!]]>
  </body>
  <state>...</state>
  <visibility>...</visibility>
  <created_on>...</created_on>
  <created_by_id>...</created_by_id>
  <updated_on>...</updated_on>
  <updated_by_id>...</updated_by_id>
  <version>...</version>
  <permalink>...</permalink>
  <project_id>...</project_id>
  <parent_id>...</parent_id>
  <milestone_id>...</milestone_id>
  <comments>
    <comment>
      <id>12</id>
      <type>
        <![CDATA[Comment]]>
      </type>
      <name>
        <![CDATA[Comment on New Discussion]]>
      </name>
      <body>
        <![CDATA[<p>First discussion</p>]]>
      </body>
      <state>...</state>
      <visibility>...</visibility>
      <created_on>...</created_on>
      <created_by_id>...</created_by_id>
      <updated_on>...</updated_on>
      <updated_by_id>...</updated_by_id>
      <version>...</version>
      <permalink>...</permalink>
      <project_id>...</project_id>
      <parent_id>...</parent_id>
      <milestone_id>...</milestone_id>
      <permissions>
        <can_edit>1</can_edit>
        <can_delete>1</can_delete>
        <can_change_visibility>1</can_change_visibility>
        <can_move>0</can_move>
        <can_copy>0</can_copy>
      </permissions>
    </comment>
  </comments>
  <permissions>
    <can_edit>1</can_edit>
    <can_delete>1</can_delete>
    <can_change_visibility>1</can_change_visibility>
    <can_move>1</can_move>
    <can_copy>1</can_copy>
  </permissions>
</discussion>

5. /projects/:project_id/discussions/:discussion_id/edit

Updates existing discussion details.

Method: POST.

Request example:

submitted=submitted
discussion[name] = Updated Name
parent_id = 1

Response:

<discussion>
  <id>11</id>
  <type>
    <![CDATA[Discussion]]>
  </type>
  <name>
    <![CDATA[Updated Name]]>
  </name>
  <body>
    <![CDATA[This is first message!]]>
  </body>
  <state>...</state>
  <visibility>...</visibility>
  <created_on>...</created_on>
  <created_by_id>...</created_by_id>
  <updated_on>...</updated_on>
  <updated_by_id>...</updated_by_id>
  <version>...</version>
  <permalink>...</permalink>
  <project_id>...</project_id>
  <parent_id>...</parent_id>
  <milestone_id>...</milestone_id>
  <permissions>
    <can_edit>1</can_edit>
    <can_delete>1</can_delete>
    <can_change_visibility>1</can_change_visibility>
    <can_move>1</can_move>
    <can_copy>1</can_copy>
  </permissions>
</discussion>