Roles: policy IDs, sorting and order buttons
This page is for administrators who maintain roles with many policies. Since 30 September 2026 the role editor and the role view show policy IDs and have sortable headings, and the editor has buttons that change the order of the policies.
Reorder policies in the role editor
- Open the Users tab, Roles and policies, then Edit on a role.
- Each policy shows its ID. Keep the default sort (ID ascending, the role's own order).
- Use the up and down buttons next to a policy. They also work across a page boundary.
- Click Save to keep the new order, or Cancel to drop it. Like every change in the editor, a move is made in the temporary version of the role.
What a move does: it swaps the contents of a policy and its neighbour (module, function, limitations, and any temporary copy the policy editor holds of either) and leaves both ids where they are.
Pressing Enter in the name field presses a hidden button that only keeps the name, not the first order button.
Sort the list
Click the headings ID, Module, Function or Limitations.
- Sorting is done in the database, because the list is paged.
- Limitations sort by the first limitation identifier, then by the number of limitations (a join on SQL engines, PHP on MongoDB).
- The sort is carried in the view parameters
(policy_sort)and(policy_dir), next to(policy_offset). The form address and the pager keep all three, so a button pressed on page three of a sorted list returns to page three, still sorted.
The role view shows each policy's ID and sorts with the same headings. It only reads, so it has no order buttons. The users and groups the role is assigned to are unchanged.
Does the order change who may do what?
No. Each policy grants access by itself; the permission system does not depend on the order. The role's access array, with the policy ids taken out, is identical before and after a reorder and Save.
The order is kept in the policy ids, so the database schema is unchanged. Opening a role for editing copies its
policies in list order, Save keeps those copies and Cancel deletes them, so the ids are the order. For this to hold,
eZRole::policyList() and policyPage() now return policies in id order instead of by module and function.
Related pages
- Role and policy paging
- Role and policy template operators
- Sections: the Section limitation, roles assigned for one section, and who may assign sections (
section/assignwithNewSection) - Object states: the
StateGroup_<identifier>andNewStatelimitations, with a worked review workflow - Admin list paging
- Behaviour changes, 16 to 30 September 2026
- Changelog 6.0.15
- History: January 2026, 16 to 30 September 2026
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.