fleet icon indicating copy to clipboard operation
fleet copied to clipboard

Retrieve and aggregate available MDM solutions for MacOS hosts

Open lukeheath opened this issue 3 years ago • 2 comments

Goal

For MacOS hosts, add ability to know which host is enrolled in an undesired Mobile Device Management (MDM) solution.

Figma

https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=7652%3A275866

Related

  • #6433 (epic)
  • #6732 (backend)

Tasks

  • This card is available to all user roles.
  • This card is only visible if the "macOS" platform is selected.

1

  • [x] Use the newly updated GET /api/v1/fleet/macadmins endpoint to retrieve aggregate count of MDM solutions by name.
  • Reference backend ticket for example API specs.
  • If a team is selected, continue to pass the team_id query param. Example: GET /api/v1/fleet/macadmins?team_id=3

2

  • [x] Update homepage Mobile device management (MDM) enrollment card.
  • Update title to “Mobile device management (MDM)”
  • Add a new Tabs component with two tabs: "Solutions" and "Enrollment".
  • Example Tabs implementation on HostDetailsPage.tsx.
  • Previous table goes under the "Enrollment" tab.
  • Add a “Solutions” table to the Mobile device management (MDM) card.
  • Table is sorted by host count ascending by default.
  • Enable clickable rows on the "Solutions" table only with a "View all hosts" link that appears on hover. Example implementation on manage software page.
  • If the name is null, display the string Unknown.
  • Client side pagination appears if there are more than 8 items.
image

3

  • [x] Add empty state to MDM card.
image

4

  • [ ] Update manage hosts table to filter by MDM name.
  • Filter contains name and server url. Example: Kandji https://UUID2.devices.us-1.kandji.io
  • Filter contains tooltip with name and server url. Example Hosts enrolled to Kandji at https://UUID2.devices.us-1.kandji.io. If the name is null...
  • only the server url is displayed in the card.
  • only the server url is included in the tooltip: “Hosts enrolled at
image

5

  • [x] Update MDM Enrollment table.
  • Update table sort to “Status” desceding by default.
  • Add a “View all hosts” button. This button appears when the user hovers over a row. This button navigates the user to the Hosts page with the MDM enrollment status.
  • Tooltips appear on hover over “Enrolled (automatic)” and “”Enrollled (manual)” Enrolled (automatic) tooltip: Hosts automatically enrolled to an MDM solution the first time the host is used. Administrators might have a higher level of control over these hosts. Enrolled (manual) tooltip: Hosts manually enrolled to an MDM solution by a user or administrator.
  • Provide MDM id in API GET URL param: /hosts/manage/?mdm_id=1
image

6

  • [ ] Ensure manage hosts table is filtered by enrollment status.
  • If “Enrolled (automatic)”, show tooltip on filter: “Hosts automatically enrolled to an MDM solution the first time the host is used. Administrators might have a higher level of control over these hosts.”
  • If “Unenrolled”, show tooltip on filter: “Hosts not enrolled to an MDM solution.”
  • Provide status in API GET URL param: /hosts/manage/?mdm_enrollment_status=manual /hosts/manage/?mdm_enrollment_status=automatic /hosts/manage/?mdm_enrollment_status=unenrolled
image

lukeheath avatar Jul 27 '22 22:07 lukeheath

@lukeheath : Maybe update the host details page to include solutions

Current: Screen Shot 2022-07-29 at 1 21 13 PM

RachelElysia avatar Jul 29 '22 17:07 RachelElysia

  • TODO: Luke create new issue to backfill dashboard E2E tests.

lukeheath avatar Jul 29 '22 17:07 lukeheath