Skip to end of banner
Go to start of banner

Displaying different Reporting content depending on the viewer

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Scenario

To create a report that displays different results depending on the user that is viewing the page.

In this example, we are displaying the content only if the user is part of a specific Confluence group (eg. confluence-users).

The content is only viewable by members of that group, this makes it possible to create dynamic content on a page.

Note: Even if the content is hidden from users that are not part of the authorized group, the users can view the content by editing the page.

Note: To hide or securely encrypt your Confluence data, we recommend using Visibility or Security & Encryption apps.

Result

Recipe

Apps

Reporting for Confluence Server & Data Center

Level

Easy

Estimated time

15 Minutes

Macros

Report Block, User Group Reporter, Text Filter, Report Body, Report Empty

Suppliers

Global Supplier, User-group Supplier

Storage format

You can copy and paste this code into the Confluence Source Editor:

<ac:structured-macro ac:macro-id="85c01b60-2227-4412-847e-8c6149bedba2" ac:name="report-block" ac:schema-version="1">
  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:macro-id="72c0d06e-cc6d-451a-a864-4614cbecc11f" ac:name="user-group-reporter" ac:schema-version="1">
      <ac:rich-text-body>
        <p>
          <ac:structured-macro ac:macro-id="b04e2ab2-9da9-42ea-8073-91cd94bfaea2" ac:name="text-filter" ac:schema-version="1">
            <ac:parameter ac:name="contains">%global:current user%</ac:parameter>
            <ac:parameter ac:name="required">true</ac:parameter>
            <ac:parameter ac:name="">user-group:members</ac:parameter>
          </ac:structured-macro>
        </p>
        <p>
          <ac:structured-macro ac:macro-id="db1a30c9-98b4-4e88-bade-4aa09f36f4a9" ac:name="text-filter" ac:schema-version="1">
            <ac:parameter ac:name="contains">confluence-users</ac:parameter>
            <ac:parameter ac:name="required">true</ac:parameter>
            <ac:parameter ac:name="">user-group:name</ac:parameter>
          </ac:structured-macro>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
    <ac:structured-macro ac:macro-id="17d5efff-61f7-44cd-a44b-6e5af0cd5efc" ac:name="report-body" ac:schema-version="1">
      <ac:rich-text-body>
        <ac:structured-macro ac:macro-id="9489ef71-25af-4100-ae33-f83e054a1e1a" ac:name="info" ac:schema-version="1">
          <ac:rich-text-body>
            <p>Testing if me, a confluence-users member, can see this</p>
          </ac:rich-text-body>
        </ac:structured-macro>
      </ac:rich-text-body>
    </ac:structured-macro>
    <ac:structured-macro ac:macro-id="df1a62db-41a9-4838-a84e-42aedd368014" ac:name="report-empty" ac:schema-version="1">
      <ac:rich-text-body>
        <ac:structured-macro ac:macro-id="a4204713-a921-4cff-a7e8-19bc9f5f7172" ac:name="info" ac:schema-version="1">
          <ac:rich-text-body>
            <p>Nothing to see here, move along</p>
          </ac:rich-text-body>
        </ac:structured-macro>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>

Macro structure

You can recreate the example in the editor view:

Steps

  1. Add a Report Block Macro

  2. Inside the macro, add the User Group Reporter, Report Body, and Report Empty macro.

  3. In the User Group Reporter macro, add two Text Filter macro and set the following:

    1. First Text Filter macro

      1. Key = user-group:members

      2. Required = Enabled

      3. Contains Value = %global:current user%

    2. Second Text Filter macro

      1. Key = user-group:name

      2. Required = Enabled

      3. Contains Value = confluence-users
        Set the group(s) that are allowed to view the content in this field.

  4. For the Report Body macro, insert the content you want to show to the group(s).

  5. In the Report Empty macro, add content you want the non-members of the group to view. This is optional.

Line-by-Line Explanation

  1. The Report Block macro is used as a container for the Reporting macros.

  2. User Group Reporter macro is used to query the groups.

  3. The two Text Filter macros are used to set conditions.

  4. The %global:current user% parameter takes the user details that access the page.

  • No labels