### Managing organizations

JReport Server supports the multi-tenancy architecture by organizing users into different organizations. An organization is a group of users that has its own administrator.

Organization is a separately licensed feature of JReport Server. It is installed together with JReport Server so only the license key needs to be updated to enable it to work. To find out how to license Organization, please contact Jinfonet sales at sales@jinfonet.com or contact your Enterprise Account Manager.

When organization is enabled, you need to specify the organization name before logging in JReport Server. The available organizations are listed in the drop-down list for selection. The organization item System means that the login user is a non-organization user. For organization users, the correct organization name must be provided, otherwise they cannot log in. When organization is disabled, only non-organization users can log in.

#### Organization definitions

There are two types of admin in the server security system:

- System admin
  The administrator who has the administrators role. System admin must be a non-organization user.
- Organization admin
  The administrator who has the administrators role in an organization. You cannot log onto JReport Server Monitor as an organization admin. Only the system admin can log onto JReport Server Monitor and see both organization and non-organization information.

There are two types of users in the server security system:

- Non-organization users
  Belong to no organizations. When upgrading from a version earlier than version 13, the users, groups, and roles in the earlier version are all regarded as non-organization principals.
- Organization users
  Users, groups, and roles created in an organization are called organization users/groups/roles.

  An organization user/group/role can belong to any other non-organization group/role, but a non-organization user/group/role cannot belong to any organization group/role. An organization user/group/role cannot belong to any group/role of other organizations.

  Organization admin cannot add users/groups/roles to non-organization groups/roles.

  The naming rule of an organization user is composed of the organization name and the user name separated by "\". The format is [Organization Name]\[User Name]. For example, a\b, here "a" is the organization name and "b" is the user name.

  If organization is disabled, the organization users/groups/roles will not be supported. However the information will be saved in the server and can be retrieved next time when organization is enabled again.

There are two types of public resources in the server resource system:

- System public resources
  Public resources that can be accessed by all organization users and non-organization users. They are located in the Public Reports and Public Components folders.
- Organization public resources
  Each organization has its own public resources which can only be accessed by the users within the organization. Organization admin has built-in permissions on the organization public resources the same as system admin on the system public resources. Organization public resources are located in the Organization Reports and Organization Components folders.

Within each organization, there is a built-in admin and two built-in roles:

- Built-in admin
  - The full name of the default admin is organization administrator, also as organization admin.
  - The organization admin's user name is admin and password is admin. The password could be changed by the organization admin himself. If the password is forgotten, the system admin can retrieve it since the system admin can reset password for all users.
  - The organization admin owns the administrators role and everyone role by default, and it must always have the administrators role.
- Two built-in roles
  - administrators
    It has no parent role by default. It enables Publish and Advanced Properties privileges by default.
  - everyone
    It has no parent role by default. It disables Publish and Advanced Properties privileges by default.

#### Creating organizations

The system admin can create and delete organizations.

To create an organization:

1. On the JReport Administration page, click Configuration on the system toolbar and then select Organizations from the drop-down menu.
2. In the Organizations panel, click the Create link. The Create Organization dialog appears. See the dialog.

3. Specify the name of the organization, the maximum number of users allowed in the organization, and the description about the organization, then click OK.

   The organization will be created and listed in the Organizations panel.

In the Organizations panel, the system admin can further edit the maximum number of users in the organizations, or delete the organizations that are not required.

- To edit the maximum number of users in an organization, double-click its number in the Max Number of Users column to enter the edit mode. Select a value from the drop-down list or input an integer number in the combo box directly, then click outside of the combo box to accept the change. The x in the combo box is used to clear the input text.
- To delete an organization, select the checkbox ahead of the organization and then click Delete. To delete all the organizations at a time, select the checkbox on the column header and then click Delete.

#### Allocating server resources to organizations

System admin can allocate server resources to different organizations, then when one organization encounters report running performance problems, the other organizations will not be affected. The server resources include maximum concurrent users/reports, maximum disk/memory size, whether to cache catalogs, reports, or images used in the organization and the maximum memory size for them as well as for cached report data and cube, and whether to compress swap files so as to reduce I/O time by increasing CPU usage.

Allocating server resources via UI

1. In the Organizations panel, click the Resource Allocation link in the Control column of the organization in the organization table. The Resource Allocation dialog appears. See the dialog.

2. Configure the settings as required.
3. Click OK to finish allocating resources to the organization.

Allocating server resources by modifying the property file

System admin can also modify the organization_config.properties file in the `<install_root>\properties` folder directly. The property file provides default values to all newly created organizations.

For information about which property is mapped to which option in the Resource Allocation dialog, see Appendix 4: Mapping list of UI options and properties.

#### JReport Administration page for organization admin

After the system admin create an organization, the organization admin of the organization will be able to log in JReport Server by the default user name admin and the default password admin to manage resources and users in this organization and configure JReport Server to adapt for the organization.

The JReport Administration page contains the following tabs on the system toolbar for organization admin:

- Resources
  The Resources tab contains two additional folders under the root directory: Organization Reports and Organization Components. They are used to put reports and library components used by the users in the organization.

  Organization admin can publish resources to the My Reports/Components or Organization Reports/Components folder. For the Public Reports/Components folder, organization admin cannot publish resources, update properties, delete resources, or edit NLS. Meanwhile, the feature of using resources from real path is disabled.

- Configuration
  The Configuration tab contains the following items:
  - Performance
    Organization admin can define which catalogs and reports to be preloaded based on the resource allocation.
  - Dynamic Connections
    Organization admin can define dynamic connections for users in the organization.
  - Dynamic Display Names
    Organization admin can define dynamic display names for users in the organization.
- Security
  The Security tab contains these items: User, Group, Role, Privilege, and Dynamic Security. Organization admin can only see the users/groups/roles in the organization and cannot change the realm.
- Cube
  In the Cube tab there is no Configuration link since the value is retrieved from resource allocation. Organization admin can define cube based on the catalogs used within the organization only.
- Cache
  The Cache tab contains the following items:
  - Data Cache
    There is no Cache Configuration link. Organization admin can cache data based on the catalogs used within the organization only.
  - Report Cache
    Organization admin can define which catalogs and reports and how many of them to be cached.

#### JReport Console page for organization users

The Resources tab on the Console page contains two additional folders under the root directory: Organization Reports and Organization Components. They are used to put reports and library components used by users in the organization.

Organization users cannot see any information about physical disk or import resources from real path. For the Public Reports/Components folder, organization users cannot publish resources, update properties, or delete resources. Organization users can run and edit reports, dashboards, Visual Analysis templates in the Public Reports folder, but cannot save the changes directly into the existing resources or into the Public Reports folder. However, they can make use of the Save As function.

#### Server log

Each organization has its own log files.

In the `<server_install_root>\logs` folder there are some .log files, they are for non-organization logs. For each organization there is a specific folder using the organization name and containing a set of log files for the organization.

When system admin defines detail settings about server log (log level, etc.), the settings will be applied to all organizations.

#### Connecting to JReport Server from JReport Designer

In JReport Designer, when publishing resources to JReport Server or synchronizing server users for CLS/RLS/MLS, you need to connect to the server firstly. In the Connect to JReport Server dialog, User Name should include the organization name when organization is enabled and when the user is a privileged organization user. Use \ to separate the organization name and the user name, for example, org1\user1. An organization user can publish resources to the My Reports/Components or Organization Reports/Components folder.