-
-
Notifications
You must be signed in to change notification settings - Fork 188
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
[controller/feature] Add DeviceGroup model #203
Labels
Comments
nemesifier
changed the title
[controller/feature] Add category/group
[controller/feature] Add category/group
Jun 4, 2020
nemesifier
changed the title
[controller/feature] Add category/group
[controller/feature] Add group
Jun 13, 2021
nemesifier
changed the title
[controller/feature] Add group
[controller/feature] Add DeviceGroup model
Jun 13, 2021
Closed
4 tasks
pandafy
added a commit
that referenced
this issue
Jun 15, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup contains metadata about group of deivces in form of JSON. JSONSchema can be set systemwide for validation of entered metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Closes #203
pandafy
added a commit
that referenced
this issue
Jun 15, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup contains metadata about group of deivces in form of JSON. JSONSchema can be set systemwide for validation of entered metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Closes #203
pandafy
added a commit
that referenced
this issue
Jun 15, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup contains metadata about group of deivces in form of JSON. JSONSchema can be set systemwide for validation of entered metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Closes #203
pandafy
added a commit
that referenced
this issue
Jun 15, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup contains metadata about group of deivces in form of JSON. JSONSchema can be set systemwide for validation of entered metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Closes #203
pandafy
added a commit
that referenced
this issue
Jul 5, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup contains metadata about group of deivces in form of JSON. JSONSchema can be set systemwide for validation of entered metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Closes #203
nemesifier
pushed a commit
that referenced
this issue
Jul 15, 2021
A group can be specified for devices, i.e. DeviceGroup. DeviceGroup can contain metadata about group of devices in JSON format. JSONSchema can be set systemwide for validating and building the UI users will use to fill the metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Implements and closes #203
pandafy
pushed a commit
to pandafy/openwisp-controller
that referenced
this issue
Apr 7, 2022
- Chnaged the endpoints pattern - Removed tests for `DeviceLocation` endpoints - Updated docs with new pattern of endpoints [api] Updated the `devicelocation` view in `GEO` app endpoint [api] Added the delete option for the `device_location` endpoint [docs] Added `delete` in the device location API documentation [fix] Context variable follows template order openwisp#484 If two or more applied templates have "default_values" with same keys, then the context variables of the template with comes later in order will be used. Fixes openwisp#484 Co-authored-by: Federico Capoano <[email protected]> [feature] Added support for ED25519 SSH keys Additionally shows a validation error if the private key being inserted during credential creation is invalid or not supported (supporting only RSA and ED25519 since they're the widely accepted secure algorithms). [feature] Allow searching for address in Device Admin [change] Execute credentials auto_add in the background openwisp#479 Closes openwisp#479 [feature] Added device groups openwisp#203 A group can be specified for devices, i.e. DeviceGroup. DeviceGroup can contain metadata about group of devices in JSON format. JSONSchema can be set systemwide for validating and building the UI users will use to fill the metadata. Added REST API endpoint for listing, creating and retrieving DeviceGroups. Implements and closes openwisp#203 [feature] Added connection app REST API openwisp#464 Closes openwisp#464 [deps] Increased min django-flat-json version to 0.1.3 openwisp#502 Fixes openwisp#502 [chores] Admin improvements for groups - added group filter in device list - added description and meta_data to search_fields [feature] Added REST API for PKI app (certs and CAs) openwisp#462 Implements and closes openwisp#462 [feature] Add API endpoint to return device group info based on the certificate common name openwisp#491 - [change!] Common name and Organization unique together for Cert and Ca models - [deps] Added shortuuid~=1.0.1 - [feature] Added API endpoint to return device group using certificate common name openwisp#491 Closes openwisp#491 [fix] Fixed JSONSchema editor select2 fields getting disabled openwisp#505 The issue arose because the JSON Schema library uses selec2('enable') for enabling or disabling select2 fields. According to the "Migrating from 3.5" section in select2 documentation, select2('enable') has been deprecated. The solution is to override the methods using it to simply modify select2.disabled property. Closes openwisp#505 [fix] Fixed advanced editor quirks openwisp#506 Bugs fixed: - Executing a command, would raise a 'Invalid JSON' alert in the advance mode of the configuration even if the JSON is valid - The device page deals with two schema and the container for advance mode editor used 'id="advanced_editor"'. Fetching the advance mode editor using the 'id' always returned the first occurence (advance mode editor of configuration). This used to create multiple advance mode editor DOM elements inside the container all of which had their own event listeners. Hence, full screen toggling was not working properly. Closes openwisp#506 [fix] JSONSchema Editor maxlength modification handle non-existent schema objects openwisp#353 Related to openwisp#353 [change] Switch to new nav menu openwisp#472 Closes openwisp#472 [api] Re-introduced `DeviceLocation` endpoints [api] Upgraded existing Device Location endpoint [tests] Added tests for device location endpoint [change] Minor code improvements [tests] Added tests for changing location detail and coordinates [api] Added support of creating a floorplan along with location [api] Added update method to `Location` serializer [api] Added support of creating/updating floorplan with location [change] Added option to change device location detail with token [tests] Added tests for create location endpoint of indoor type [change] Minor bug fix and added tests for the endpoints [tests] Minor typo fix [change] Improved docs & optimized number of queries [docs] Improvement in the docs related to devicelocation endpoint [api] Fixed device location endpoint added TokenAuthentication [docs] Updated info on how to use the device location endpoints [change] Added tests and improved devicelocation permission logic [change] Fixed the validation error raised due to image format [change!] Removed the creation of devicelocation with GET request [fix] Included PKI API URLs to `controller.urls` file openwisp#511 Closes openwisp#511 [chores] Ensure Device.group.verbose_name is lowercase for consistency [fix] Fixed 0010 pki migration when cert serial_number is None [fix] CommandFailedException: ensure error message is always present If a command with suppressed output failed, CommandFailedException would be raised with an emptry string as argument, which makes debugging issues really hard. In this cases we shall instantiate the exception with the same message passed to the log. [fix/tests] TestSsh: fixed assert_has_calls not being called I found out these assertions were not being called while working on the previous commit. [fix] Registered menu group in connection app openwisp#512 Closes openwisp#512 [fix] Fixed new theme issues in config editor and command inputs Co-authored-by: Federico Capoano <[email protected]> [test] Fixed failing tests due to openwisp-utils menu changes Co-authored-by: Pedro Peña <[email protected]> [docs] Updated docs about limitations of device location endpoint [tests] Fixed tests causing CI to fail
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In the last 2 years several features have been requested and built (I and others have built a few of these ideas with custom openwisp modules) which could be implemented/reimplemented with the concept of grouping devices.
A group could automatically assign special templates, it could automatically assign special monitoring settings, it could provide a default location, it could allow to implement the synchronized update strategy more effectively (devices of the same group can reload special type of configurations in a synchronized fashion), a group of devices could be a mesh network so the group could automatically generate all that is needed to make the mesh network work and collect network topology information. The actual things we can do with this concept vary depending on the use case.
Another use case is that the old OpenWISP1 version had the concept of "group" for specifying group of access points that had to have a custom captive page for the public wifi service.
For all the above reasons, I think we can start adding a very simple group functionality now and then over time add more features based on the real needs we have. This way we'll only add features that we really need and avoid creeping in too many features or risk build something unnecessary.
Although instead of adding an arbitrary DB field like "captive_page", I think we should simply provide a way to define data which can be customized depending on the use case.
What we should do in this phase:
DeviceGroup
orGroup
model and admin (maybe we should call itDeviceGroup
to avoid confusion with other models that are called Group, like django'sauth.Group
model), the model shall have fields like (organization
, usingOrgMixin
),name
,description
,meta_data
,created
,modified
.Device
, the field should be aForeignKey
toDeviceGroup
.group
field of a device is change and document the new signal.DeviceGroup.meta_data
and document it.meta_data
field is JSON formatted field which will leverage the work we did with JSON schema to show the UI, by default the schema will be empty and allow any property so the user can add what they need.config.Group
./api/v1/controller/group/
,/api/v1/controller/group/{id}/
, authentication and permission checks should be consistent with the REST API endpoints added recently in [feature] REST API for main controller features #379 #386 and the ones being added in [api] Rest API for PKI app #455.The text was updated successfully, but these errors were encountered: