Organization Entities

The organization entities listed can be referred to. One of these must be used as the starting point of every query.

  • Organization
  • Orgunit (organization unit)
  • Position
  • Location
  • Capability
  • Privilege
  • Group
  • Resource
Note: A Push Destination assigned to an organization entity (Group, Position, Organization Unit, etc.) will only work when the organization entity is explicitly identified as the participant, and not when it is defined by the Resource Query Language.

The significance of specifying each of these organizational elements is set out in the following sections.

Organization

For example:

organization(name="EasyAs")

This expression returns all the resources allocated to any Position which is allocated to any Organization Unit within the Organization named EasyAs.

Orgunit (organization unit)

For example:

orgunit(name="Support-SWI")

This expression returns all the resources allocated to all the Positions within the organization unit named Support-SWI.

By default Organization Units are not treated recursively. That is, an expression specifying an organization unit does not return positions in a sub-unit of that organization unit. See Navigating the Organization Model with RQL Queries for more details.

Position

For example:

position(name="Manager")

This expression would return all the resources in a Position named Manager.

You can also locate resources based on their type in the organization model schema, for example:

position(type="UnitManager" or name="Manager")

This expression would return all the resources in an position which is an instance of the position type named UnitManager, or is a Position called Manager.

Location

For example:

location(name="NewYork")

This expression returns all the resources that:

  • Have a location of NewYork, or
  • Are allocated to a Position that:
    • is located in NewYork, or
    • is allocated to an Organization Unit that:
    • is located in NewYork, or
    • is allocated to an Organization that is located in NewYork.

Capability

For example:

capability(name="JavaProgrammer")

This expression includes all the resources that:

  • Have the capability named JavaProgrammer
    Note: RQL only makes use of capabilities that are assigned to Resources.

    Capabilities may be assigned to Positions and Groups in the organization model. These represent "entry criteria" - that is, only resources with that capability should be assigned to that group or position. However, this is not enforced. Capabilities assigned to Resources indicate that the person represented by that Resource does actually have the capability in question.

    Capabilities may be further refined by using a qualifier, as described for Privilege .

Privilege

For example:

privilege(name="signoff" qualifier>10000)

All the resources allocated to a Position with:

  • the privilege signoff with a qualifier value greater than 10000, or
  • belonging to an Organization Unit with the privilege signoff with qualifier value greater than 10000.

An expression can also specify the privilege without specifying a qualifier. For example:

privilege(name="signoff")

This would return all the resources allocated to a Position or an Organization Unit with the privilege signoff, regardless of any qualifier.

Group

For example:

group(name="Health&Safety")

This expression returns all the resources in a group named Health&Safety.

Groups can operate recursively - that is, groups can contain groups. So this expression would also include all resources belonging to all sub-groups. This can be overridden - see Navigating the Organization Model with RQL Queries.

Resource

For example:

resource(name="Clint Hill")

This expression returns all the resources with the name Clint Hill.

Unlike the other entities listed, Resources refer directly to actual users as defined in LDAP. When selecting resources you can start with a particular resource by referencing its name, for example:

resource(name="Clint Hill").position(name="abc").orgunit(type="efg").privilege(name="signoff" qualifier > 10000)

This expression returns all Resources that belong to an OrgUnit of type "efg" in which Clint Hill holds the position named "abc", and in which he holds the "signoff" privilege, qualified for a value of greater than 10000.

You can also query attributes from the LDAP database that have been passed to BPM, for example:

resource(attribute.phone="+44(0)1793*" and attribute.language="*Spanish*")

This returns the resources with a Swindon dialing code (+44 (0)1793) on their phone attribute and whose language attribute includes the text Spanish.