Giter Site home page Giter Site logo

Hosts UI about fleet HOT 11 CLOSED

fleetdm avatar fleetdm commented on May 27, 2024 1
Hosts UI

from fleet.

Comments (11)

zwass avatar zwass commented on May 27, 2024 1

@noahtalerman I updated the host API as requested in #223.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024 1

Closing this project issue following the release of 3.8.0 on 2-25-2021 🎉

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Looks great Mike! Thanks.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Backend changes

This is a follow-up to the Engineering review (1/11/2021). Below, I include the suggested changes/additions to the API discussed during the review.

Get and modify hosts list columns (new endpoint)

Save a JSON object to MySQL that includes column data for hosts list
Possible endpoint: api/v1/kolide/users/hosts_table_columns
Example JSON object to be stored:

{
    “columns”: [
          { “label”: “Hostname” },
          { “label”: “Status” },
          { “label”: “Osquery” },
          { “label”: “IPv4” },
     ]
}

Get labels and packs associated with a specific host (modify endpoint)

Add associated labels and packs data to the /host/{id} endpoint
Exisintg endpoint: api/v1/kolide/hosts/{id}
Default response JSON object:

{
    "created_at": "2020-11-05T05:09:44Z",
    "updated_at": "2020-11-05T06:03:39Z",
    ...,
    "labels": [
         {
               "id": <id>,
               "name": <name>,
               "display_name": <display_name>,
                ...,
         },
    ]
    "packs" [
         {
               "id": <id>,
               "name": <name>,
               ...,
         },
    ]
}

@zwass In the updated /hosts/{id} endpoint, we could only send the necessary label and pack data which are id for redirects and name/display_name to display in the UI.

I think it makes more sense to include all of the label and pack properties in this response. We may choose to use/display that data in later changes to the UI.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Final wireframes

Hosts page

hosts - manage

Hosts page - edit columns

hosts - manage - add columns

Host details page

host details

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on the Jan 31 release

The updated goal for the end of month release includes:

  • Host details page
  • Revealing live query errors
  • A way to navigate to the Host details page from the Hosts page
  • Move query and delete buttons to the Host details page

Pushed to a later release:

  • Search on the Hosts page
  • Upgrades to the hosts table (column sort, re-ordering, edit)

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on required backend changes

All backend PRs required for the Hosts UI project are merged:

  • Host details endpoint #223
  • Revealing of live query errors #205

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on Fleet 3.7.0 release

All frontend PRs required for this week's release are merged. See this linked comment (above) for a list of the goals to be included in this release (3.7.0) and the goals pushed to next release.

I'm keeping this project issue open for discussion/reference for the later Fleet 3.8.0 release.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on the end of month release (tentatively 2-24-2021)

The following items from this project will be included in the upcoming release of Fleet 3.8.0:

  • Search on the Hosts page
  • Upgrades to the Hosts table (column sort, re-ordering, edit)

Link to Figma screens: https://www.figma.com/file/qpdty1e2n22uZntKUZKEJl/Fleet-EE-current?node-id=104%3A2

Brief context for these changes

Search on the Hosts page

As a Fleet user, I want to quickly find a specific host so that I can verify a specific characteristic of that host.

The ability to search by hostname, machine_serial, uuid, and ipv4 allows the user to find a unique host or set of hosts within the Fleet UI.

Upgrades to the Hosts table

As a Fleet user, I want to be able to customize the information displayed in the Hosts table so I can easily compare information across hosts.

The ability to sort and edit the displayed columns in the Hosts table allows the user to alter the information displayed in order to fit their use case. The Hosts table can then be used to visually compare a specific host trait across multiple hosts.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on Hosts page searchable properties

Host's uuid has been added as a searchable property to this month's changes. I suggest that hostname, machine_serial, and uuid are the higher priority properties while ipv4 falls below.

from fleet.

noahtalerman avatar noahtalerman commented on May 27, 2024

Update on discussed edge cases

This is a summary of the discussions in Slack on the discovered edge cases for search on the Hosts page. The Hosts Figma page has been updated with comments that correspond to the summary below.

  • The user is required to enter 3 characters into the search input field before the first request to the /hosts endpoint is sent.
  • The labels' host count in the sidebar doesn't update when there is an active search.
  • Labels act as an additional filter on top of search.
  • For the table's hosts count, render "100+" if there are more than 100 search results. Render the actual count if there are less than 100 results.
  • Use only "Next" and "Previous" pagination controls instead of displaying the option to jump to a specific page. UI work for the new pagination controls is TODO.
  • Sort search results by hostname by default.
  • If the user has navigated to a page in the search results greater than 1, and they then change the search input, they are taken back to page 1.

cc @zwass @ghernandez345

from fleet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.