Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing Device Groups Management #2997

Closed
2 tasks done
Tracked by #2655
MarianRaphael opened this issue Oct 24, 2023 · 12 comments · Fixed by #3157, #3192, #3236, #3235 or #3255
Closed
2 tasks done
Tracked by #2655

Implementing Device Groups Management #2997

MarianRaphael opened this issue Oct 24, 2023 · 12 comments · Fixed by #3157, #3192, #3236, #3235 or #3255
Assignees
Labels
feature-request New feature or request that needs to be turned into Epic/Story details priority:high High Priority story A user-oriented description of a feature
Milestone

Comments

@MarianRaphael
Copy link
Contributor

MarianRaphael commented Oct 24, 2023

User Story

As a FlowForge user, who manages a large number of devices,
I want to have the ability to create "Device Groups",
So that I can manage and organize my devices more efficiently by grouping and identifying them through common characteristics.

Follow-up story:
#2989

Scope

  • Users can create a new "Device Groups" by providing a unique name
  • Users can view a list of all created "Device Groupss" with their names
  • Devices can only be assigned to one Device Group at any time.
  • Groups (Tag) are managed at the application level, but viewable/configurable in the pipeline
  • Users can view or remove the "Device Group" for a device

Design

#3103

License

Teams Tier
Enterprise Tier

Tasks

  1. design task
    joepavitt

Follow-ups

  1. 1 of 1
@MarianRaphael MarianRaphael changed the title Device Tags - MVP Implementing Device Tags Management Oct 24, 2023
@MarianRaphael MarianRaphael added feature-request New feature or request that needs to be turned into Epic/Story details story A user-oriented description of a feature labels Oct 24, 2023
@MarianRaphael MarianRaphael added this to the 1.14.3 milestone Nov 10, 2023
@MarianRaphael MarianRaphael added the priority:high High Priority label Nov 20, 2023
@MarianRaphael
Copy link
Contributor Author

Follow-up: #2989

@MarianRaphael MarianRaphael changed the title Implementing Device Tags Management Implementing Device Groups (Tags) Management Nov 22, 2023
@MarianRaphael MarianRaphael modified the milestones: 1.14.3, 1.15 Nov 23, 2023
@MarianRaphael
Copy link
Contributor Author

Designs in: #3103

@MarianRaphael
Copy link
Contributor Author

Because the only use case for Device Groups in this iteration is related to Pipelines, Device Groups should be created during Pipeline creation. Later, when introducing more Device Group options, we should allow additional configuration of Device Groups elsewhere. Jumping between screens during the creation of the Pipeline doesn't feel right.

@MarianRaphael MarianRaphael changed the title Implementing Device Groups (Tags) Management Implementing Device Groups Management Nov 27, 2023
@Steve-Mcl
Copy link
Contributor

@MarianRaphael et al, FYI,

After resurrecting the device tagging branch and working through it with the finalised direction of Device Groups (as discussed in the 2 previous meetings and the update to this OP) I have proposed a new, simplified DB schema for introducing Device Groups. IMO, device groups were moving a sufficient distance away from the mechanics of tagging (of being able to set a devices properties/env vars etc) into its own entity.

I proposed this to Nick and we are in agreement: "simplifying Device Groups to a standalone, one-to many table joined to the device" (see attached schema)

I feel I can deliver this a lot quicker and believe this will not interfere with the (later) concept of tagging for settings / env vars / logical grouping etc.

image

@Steve-Mcl Steve-Mcl linked a pull request Dec 4, 2023 that will close this issue
11 tasks
@Steve-Mcl Steve-Mcl linked a pull request Dec 8, 2023 that will close this issue
11 tasks
@Steve-Mcl
Copy link
Contributor

Steve-Mcl commented Dec 12, 2023

@MarianRaphael

Audit log entries for Device Groups was not in the scope or design notes of this work but I assume we/customers will want this?

If yes, can we add / schedule this work?

Thanks.

@MarianRaphael
Copy link
Contributor Author

Right, this does not fall within the scope of this issue.
This would be the first step in that direction: FlowFuse/flowfuse#3268.
I will open a follow-up issue specifically for Device Group Audit log entries.

@MarianRaphael
Copy link
Contributor Author

Edit: @Steve-Mcl Please change the Tier to Enterprise

Steve-Mcl added a commit that referenced this issue Dec 15, 2023
@Steve-Mcl
Copy link
Contributor

Edit: @Steve-Mcl Please change the Tier to Enterprise

Done - fdefa11

@Steve-Mcl
Copy link
Contributor

Edit: @Steve-Mcl Please change the Tier to Enterprise

Front end updated

image

@knolleary
Copy link
Member

@MarianRaphael can I clarify the licensing requirement here.

change the Tier to Enterprise

Do you mean this should only be available to Enterprise licensed platforms, or Enterprise tier teams?

The current implementation is the former - so the feature will be available to all team types on FF Cloud. If this is only meant to be available to Enterprise tier teams on FF Cloud we'll need to implement that.

@MarianRaphael
Copy link
Contributor Author

MarianRaphael commented Dec 19, 2023

@knolleary @Steve-Mcl What I mean is the "Enterprise tier" for FF-Cloud as well as for self-hosted FF instances.

@Steve-Mcl
Copy link
Contributor

Steve-Mcl commented Dec 20, 2023

Staging verification: 20/12/2023

"Steve on Staging" team

Device Group Ops

  • Add Device Group
    • Application Audit Log entry present
  • Edit Device Group Name
    • Application Audit Log entry present detailing the change
  • Edit Device Group Description
    • Application Audit Log entry present detailing the change
  • Delete Device Group
    • Application Audit Log entry present
  • Can edit a Device Group
    • Edit button reveals Save and Cancel buttons and shows available devices
    • Changes are volatile until saved
    • Save & cancel buttons become enabled / disabled as devices are moved into/out of a group
    • Cancel loses/reverts all changes (volatile)
    • Save saves all changes (survives a refresh)
    • Application Audit Logs entry present detailing Add count and Remove count
  • Can NOT add same device to another group

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment