Open MilSim.io
C2 Overview

Manage Attributes And Folders

Create and organise ranks, qualifications, awards, units, and positions, then assign them to people.

Ranks, qualifications, awards, units, and positions share one C2 attribute screen. Each menu item has its own community feature (community_ranks, community_qualifications, community_awards, community_units, or community_positions) and its own permission family. Folders collects those five attribute types into one organisation view.

Attribute CRUD permissions

Replace <type> with ranks, qualifications, awards, units, or positions.

ControlPermissionResult
Open list or detail<type>:readShows the attribute list, search, folder filter, detail, and assigned profiles.
Create<type>:createOpens the attribute form and creates a record.
Edit / Modify<type>:updateChanges the record’s form values.
Delete then confirmation<type>:deletePermanently deletes the record after a confirmation dialog.
Reorder, Save, Cancel<type>:updateReorders items within the selected folder. Cancel discards unsaved dragging.
Add, remove, or move a folder assignment<type>:modify-foldersPlaces the attribute in a folder or removes it from one.
Bulk profile assignment (not units)profiles:modify-<type>Adds or removes that attribute from selected profiles.

Every attribute form loads the current folders. Its fields vary by type, but C2 supplies name, description, folder, position, abbreviation/callsign where applicable, and an image field where the type supports one. Save errors stay in the dialog; a 409 response is displayed against the returned field(s).

Create, edit, find, and reorder attributes

  1. Open the relevant Attributes menu item.
  2. Use Create to add a record, complete its fields, then submit.
  3. Use the search box and Filters to find a record by name, description, callsign, abbreviation, or folder.
  4. Open a record for its details, assigned profiles, and its Edit or Delete controls.
  5. To reorder, select Reorder for a folder, drag items into order, then select Save. Select Cancel to restore your previous filters and discard the unsaved order.

Reordering does not move an item between folders; it writes the position within its current folder. A create or edit can be rejected by a feature limit—use the error message and review the community plan rather than repeatedly submitting.

Delete an attribute

The Delete button opens a confirmation dialog and then removes the selected rank, qualification, award, unit, or position. Check its assigned profiles, unit slots, ORBAT use, and automation configuration first. The UI does not offer a restore action.

For units, deletion is especially high-risk: it is not the same as removing a unit from a folder or ORBAT. Review Hierarchy And ORBAT before deleting a live unit.

Assign attributes to profiles

On a non-unit attribute’s detail page, use Bulk Assign to select profiles and apply the attribute. It requires the matching profiles:modify-ranks, profiles:modify-qualifications, profiles:modify-awards, or profiles:modify-positions permission.

For a person-by-person update, use the profile cards instead. Unit assignment has separate slot behaviour; use the profile page for the primary unit and Hierarchy And ORBAT for roster slots.

Verification required for the bulk-control label: C2 shows it for non-unit attributes based on profiles:modify-<type>, and the API enforces those profile assignment endpoints. The exact button wording is sourced from the shared component’s translations, so validate it in the deployed locale before capturing screenshots.

Folders

Folders are shared across all five attribute types. The Folders route is visible when C2 finds at least one of these permissions: ranks:modify-folders, qualifications:modify-folders, awards:modify-folders, units:modify-folders, or positions:modify-folders. C2 also lists a legacy folders-read fallback, which is not in the API catalogue—do not add it to a role.

Create, rename, or delete a folder

ControlC2 conditionEffect
CreateAny *:modify-folders permissionCreates a folder with required name and position.
ModifyAny *:modify-folders permissionEdits the folder name or position.
DeleteAny *:modify-folders permissionOpens a destructive confirmation for the folder.
View moreFolder is visibleOpens its detail page.

Folder controls are broad in the C2 screen, but the API folder controller derives its base permission from the folder model rather than one of the five type keys. Treat the UI condition as verified visibility, and role-test create/edit/delete against the current API before relying on it as a backend guarantee.

Add or remove items from a folder

  1. Open Folders, then choose View more for the target folder.
  2. Use Create to make a new item directly in that folder; the form preselects the folder.
  3. In Attribute counts, choose a type, tick existing unfiled items, then select Save to add them.
  4. Use an item’s remove-from-folder control to make it uncategorised.

Adding/removing items requires that type’s *:modify-folders permission. The folder detail page disables a type that you cannot manage, and its create menu disables a type without <type>:create.

Verification notes

  • All five generic attribute routes are implemented by C2’s dynamic /:generic and /:generic/:id pages; C2 rejects a value that is not one of the five known attribute types.
  • The Spring generic controller applies model-derived CRUD permissions and explicitly applies modify-folders to PUT /{type}/{id}/folder.
  • Folder deletion side effects are not stated in the screen. Treat it as destructive and test what happens to contained items in a seeded non-production community before publishing a staff procedure.
Copyright © 2026