Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is an X-Priority?

The X-Priority is used to indicate the importance of a message. Microsoft only allows a 5 X-Priority levels https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxcmail/2bb19f1b-b35e-4966-b1cb-1afd044e83ab and therefore the default range of X-Priorities is 1-5 with 1 relating to the highest priority and 5 the lowest.

There is a default Priority Scheme for all Projects that don’t have a defined Priority Scheme set. It has the default 5 priority levels from 1-5. However, Priorities and Priority Schemes can be created and applied to a given Project. A created Priority Scheme can contain any amount of priorities starting from 1.

Due to a Priority Scheme potentially holding more than 5 Priorities matching the 5 Priority levels that Microsoft allows, JEMH has to make changes to decide which Priority should be used for a message.

How JEMH works with X-Priorities:

JEMH finds the correct X-Priority Header that should be used by finding out how many total Priorities there are in the Priority Scheme being used before calculating the weight of each Priority.

For example, if there are 10 Priorities, each Priority has a weight value of 5/10 or 0.5/5.

From this, we will then incrementally go through each Priorities weight value until it is greater than or equal to the desired priority value.

For example, if there are 10 priorities, each has a weight value of 0.5 and we want the X-Priority of 4. The result priority used will be Priority 8 as 8 x 0.5 >= 4 is the first true result.

Note: The user must choose an X-Priority value between 1 and 5. If the user selects chooses an X-Priority that is greater than 5, the lowest priority that is available will be used.

Enabling X-Priority Headers:

In order for X-Priority Headers to work, you are required to first enable this, you can do this by going to:

Profiles > Profile Configuration > Issue

Then ensure that the Use Mail X-Header Priority check box is ticked.

You can see how the screen looks like below where you need to do this:

Image RemovedImage Added

Example use of implementation:

Below is a Test Case where we are entering that we want to use the lowest available X-Priority by setting the value to be 5. You can see that the Project being used is “context testing“.

Image RemovedImage Added

You can see below that there are 3 different Priority Schemes, however, the Project that is being used, “context testing”, is not associated to any Priority Scheme and therefore will use the default.

Image RemovedImage Added

Below is the result from running the Test Case, where the resulting message Priority has been set to priority10. This is the case as you can see from the Default Priority Scheme above, that priority10 is the lowest Priority available and in the Test Case, we set the X-Priority to be 5 and therefore the lowest Priority available.

Image RemovedImage Added

Example Case Results:

Case with 1 - will always pick the highest Priority available:

Number of Priorities

Chosen Priority

Result Priority

1

1

1

2

1

1

3

1

1

4

1

1

5

1

1

6

1

1

7

1

1

8

1

1

9

1

1

10

1

1

Case with 5 - will always pick the lowest Priority available:

Number of Priorities

Chosen Priority

Result Priority

1

5

1

2

5

2

3

5

3

4

5

4

5

5

5

6

5

6

7

5

7

8

5

8

9

5

9

10

5

10

Case with 3 - Will differentiate depending on available priorities:

Number of Priorities

Chosen Priority

Result Priority

1

3

1

2

3

2

3

3

2

4

3

3

5

3

3

6

3

4

7

3

5

8

3

5

9

3

6

10

3

6

Future Feature Improvement:

If the user specifies that they want the x-priority to be a value higher than 5 and a priority with an id higher than 5 matches this, set this to be the priority, otherwise, default to the lowest priority.

Jira Legacy
serverSystem JIRA
serverId31e1f342-5dce-3979-a43c-85899d565476
keyJEMH-8099