[GH-ISSUE #107] Connection tags #1049

Closed
opened 2026-02-28 12:00:59 +03:00 by kerem · 6 comments
Owner

Originally created by @majkinetor on GitHub (Apr 6, 2021).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/107

Originally assigned to: @VShawn on GitHub.

Is your feature request related to a problem? Please describe.

Add arbitrary number of tags on any connections which can further improve selection, grouping and categorization, along with providing more operation options

Describe the solution you'd like

  • Tags should be added in connection config common section and must be set on selected connections via bulk edit
  • Tags are shown only in list view either as another column or as second raw in connecton item
  • List of tags could be shown in sidebar; clicking on tag would select all connections in current group having it; search could have shortcut via #tag_name
  • In launcher #tag_name shows only tagged connections (thinking more about this, perhaps it was better to have special prefix for including group name when searching rather then having it as an option now, for example !group_name).

Additional context

Tag would allow arbitrary grouping of connections and allow connection to exist in multiple "groups" (we would still have groups, but those are categories as connection can have only 1). With operations allowed on tags as it were connection, one would also use it to speed up certain actions:

  1. Connect to multiple connections as single step
  2. Categorization of connections with tags like #db #app #personal #linux #windows etc. Then to see all your windows database servers you would go #windows #db
  3. It can basically serve as saved search/cherry pick of connection for whatever purpose; you could as an example mass edit #windows #db and change username for all in one step or export them to format for sharing with others.

From implementation standpoint this is mostly trivial:

  1. Add single edit control in configuration that has autocomplete
  2. Tags are created as they are written and deleted automatically if they do not have associated connections any more (for example by removing tag or deleting connection)
  3. There are 2 new tables, one for tags, other for tag-connections associations
  4. In list view, tags are listed in "second row" of the connection item or in new column
  5. There is also collapsable sidebar that lists all tags and few options
    • filtering tag names, sorting tags (by name, usage date or connection number)
    • right click on tag to bring tag and connection options (note: current group applies)
      • tag options: rename, remove
      • connection options: connect all (maybe delete all, duplicate all etc)
    • left click on tag to show only connections with that tag
  6. Implement also search via #tag_name as alternative keyboard oriented mechanism
Originally created by @majkinetor on GitHub (Apr 6, 2021). Original GitHub issue: https://github.com/1Remote/1Remote/issues/107 Originally assigned to: @VShawn on GitHub. **Is your feature request related to a problem? Please describe.** Add arbitrary number of tags on any connections which can further improve selection, grouping and categorization, along with providing more operation options **Describe the solution you'd like** - Tags should be added in connection config common section and must be set on selected connections via bulk edit - Tags are shown only in list view either as another column or as second raw in connecton item - List of tags could be shown in sidebar; clicking on tag would select all connections in current group having it; search could have shortcut via #tag_name - In launcher #tag_name shows only tagged connections (thinking more about this, perhaps it was better to have special prefix for including group name when searching rather then having it as an option now, for example !group_name). **Additional context** Tag would allow arbitrary grouping of connections and allow connection to exist in multiple "groups" (we would still have groups, but those are categories as connection can have only 1). With operations allowed on tags as it were connection, one would also use it to speed up certain actions: 1. Connect to multiple connections as single step 2. Categorization of connections with tags like #db #app #personal #linux #windows etc. Then to see all your windows database servers you would go #windows #db 3. It can basically serve as saved search/cherry pick of connection for whatever purpose; you could as an example mass edit #windows #db and change username for all in one step or export them to format for sharing with others. From implementation standpoint this is mostly trivial: 1. Add single edit control in configuration that has autocomplete 2. Tags are created as they are written and deleted automatically if they do not have associated connections any more (for example by removing tag or deleting connection) 3. There are 2 new tables, one for tags, other for tag-connections associations 4. In list view, tags are listed in "second row" of the connection item or in new column 5. There is also collapsable sidebar that lists all tags and few options - filtering tag names, sorting tags (by name, usage date or connection number) - right click on tag to bring tag and connection options (note: current group applies) - tag options: rename, remove - connection options: connect all (maybe delete all, duplicate all etc) - left click on tag to show only connections with that tag 6. Implement also search via #tag_name as alternative keyboard oriented mechanism
Author
Owner

@VShawn commented on GitHub (May 18, 2021):

I‘m still hesitating whether to add a tag system. The tag system will make the whole system more complex. And I don’t know where to display the tags and where to place a button to open connections by the tag.

For me I'd like to enable a server to have multiple group names and bulk connect by the group name. This is more intuitive I think.

To achieve this, a lot of things needs to be changed:

  • UI
    • server editor needs to support multi-group input
    • in list view right click group name pop a menu with a button ‘open connect’
    • in the launcher enable list group as an individual item (means chuange of control's template and view modle)
  • Logic
    • search by groupname
  • Database
    • make the data structure support multiple group names
<!-- gh-comment-id:842758104 --> @VShawn commented on GitHub (May 18, 2021): I‘m still hesitating whether to add a tag system. The tag system will make the whole system more complex. And I don’t know where to display the tags and where to place a button to open connections by the tag. For me I'd like to enable a server to have multiple group names and bulk connect by the group name. This is more intuitive I think. To achieve this, a lot of things needs to be changed: - UI - server editor needs to support multi-group input - in list view right click group name pop a menu with a button ‘open connect’ - in the launcher enable list group as an individual item (means chuange of control's template and view modle) - Logic - search by groupname - Database - make the data structure support multiple group names
Author
Owner

@majkinetor commented on GitHub (May 20, 2021):

This is exactly the same, you just call "tags" by name "groups". You need to find a way to display many groups. With this functionality, people will use them much more so tabs will not suffice any more.

We definitely don't need both, and groups are lacking. So IMO, groups should be removed, that is, renamed to tags, and new UI for tags should be implemented.
Regarding tags in list view, maybe something like:

image

  1. Left click a tag name shows only tagged items (so it behaves like a group)
  2. Right click on tag could provide some options like rename tag, delete tag etc.
  3. You can see all tags by clicking Tags tab. There you could filter out tags and click on them to show items

Implementation side

  • Database: you would just need 2 tables - Tags and TagsConnections (for association).
  • Logic: trivial - CRUD on TagsConnections and Tags
  • UI
    • implement tag control that can be reused on different places (connection list, connection editor, tag list)
    • implement tag editor to be used instead Group name in connection editor
    • add one page that lists and filters tags
      such as this
      image

So, for example, to later bulk connect, you will select all desired connections, choose edit, add tag, save. Later, click tag, select all, connect.

One minor problem here is that operations add/set/remove tags can not be done in current editor even with latest changes. It could be used only to set the same tags to all items, but we would need an option to add tag or remove tag from selected connections without affecting other existing tags on those connections.

<!-- gh-comment-id:845430015 --> @majkinetor commented on GitHub (May 20, 2021): This is exactly the same, you just call "tags" by name "groups". You need to find a way to display many groups. With this functionality, people will use them much more so tabs will not suffice any more. We definitely don't need both, and groups are lacking. So IMO, groups should be removed, that is, renamed to tags, and new UI for tags should be implemented. Regarding tags in list view, maybe something like: ![image](https://user-images.githubusercontent.com/85767/119041005-62efc800-b9b6-11eb-97e2-ef612faef922.png) 1. Left click a tag name shows only tagged items (so it behaves like a group) 2. Right click on tag could provide some options like _rename tag_, _delete tag_ etc. 3. You can see all tags by clicking Tags tab. There you could filter out tags and click on them to show items Implementation side - Database: you would just need 2 tables - Tags and TagsConnections (for association). - Logic: trivial - CRUD on TagsConnections and Tags - UI - implement tag control that can be reused on different places (connection list, connection editor, tag list) - implement tag editor to be used instead Group name in connection editor - add one page that lists and filters tags <details>such as this ![image](https://user-images.githubusercontent.com/85767/119039402-844fb480-b9b4-11eb-9c6d-d74902edbb1a.png) </details> So, for example, to later bulk connect, you will select all desired connections, choose edit, **add tag**, save. Later, click tag, select all, connect. One minor problem here is that operations add/set/remove tags can not be done in current editor even with latest changes. It could be used only to set the same tags to all items, but we would need an option to _add tag_ or _remove tag_ from selected connections without affecting other existing tags on those connections.
Author
Owner

@majkinetor commented on GitHub (Jun 10, 2021):

Some problems:

Bugs

  • Tag rename within Tags tab has strange text on init
    details
    image
  • Tags should not be case sensitive IMO
  • There should be a bit of space between special tabs - All and Tags - and pinned tags like on image above.
  • Search should work in Tags tab
  • Tags should be sorted when displayed (or have a global option on it). You consider it that way in bulk editor - i.e. tag x, tag y and tag y, tag x are considered the same for two items in the bulk.

Improve

  • Clicking on tag should work and show items it contains. Now if tag isn't shown as tab, you have no way to select only items that contain it. Regarding interface, this could go into new special tab that is shown next to Tags and shows the name of the selected tag. Problem with this is that it is viable only for 1 tag, not for combination ( like windows, database) so perhaps there should be different interface within All
    like this Clicking on tag adds it to the filter and AND operator is used. The image bellow shows 2 items both having 2 tags shown in the filter image
  • Tags should not be shown as tabs by default IMO, or better, this should be configurable, what one wants depends on how many tags they plan to use
  • All tag menu options should be shown anywhere where tag is shown, for example in the list there is no rename, tag should be clickable within Tags tab etc.
  • Config editor: Autocomplete works much better with tags then selection. I use a lot of tags for example. Current solution is also jerky/jumpy. Tags should be added by pressing enter when they appear in the autocomplete list and removed using x (mouse) or backspace while you are in the edit field (keyboard).
  • Hovering with mouse over tag should show some short animation such as higlight, otherwise it looks like image and not a special kind of button.
<!-- gh-comment-id:858630741 --> @majkinetor commented on GitHub (Jun 10, 2021): Some problems: ### Bugs - Tag rename within Tags tab has strange text on init<details><summary>details</summary> ![image](https://user-images.githubusercontent.com/85767/121488197-24f12d00-c9d3-11eb-8b33-c4448ee951c7.png)</details> - Tags should not be case sensitive IMO - There should be a bit of space between special tabs - All and Tags - and pinned tags like on [image](https://user-images.githubusercontent.com/85767/119041005-62efc800-b9b6-11eb-97e2-ef612faef922.png) above. - Search should work in Tags tab - Tags should be sorted when displayed (or have a global option on it). You consider it that way in bulk editor - i.e. `tag x`, `tag y` and `tag y`, `tag x` are considered the same for two items in the bulk. ### Improve - Clicking on tag should work and show items it contains. Now if tag isn't shown as tab, you have no way to select only items that contain it. Regarding interface, this could go into new special tab that is shown next to Tags and shows the name of the selected tag. Problem with this is that it is viable only for 1 tag, not for combination ( like `windows`, `database`) so perhaps there should be different interface within All <details><summary>like this</summary> Clicking on tag adds it to the filter and AND operator is used. The image bellow shows 2 items both having 2 tags shown in the filter ![image](https://user-images.githubusercontent.com/85767/121536543-71ecf780-ca03-11eb-8a09-7a219b7761d1.png)</details> - Tags should not be shown as tabs by default IMO, or better, this should be configurable, what one wants depends on how many tags they plan to use - All tag menu options should be shown anywhere where tag is shown, for example in the list there is no rename, tag should be clickable within Tags tab etc. - Config editor: Autocomplete works much better with tags then selection. I use a lot of tags for example. Current solution is also jerky/jumpy. Tags should be added by pressing enter when they appear in the autocomplete list and removed using x (mouse) or backspace while you are in the edit field (keyboard). - Hovering with mouse over tag should show some short animation such as higlight, otherwise it looks like image and not a special kind of button.
Author
Owner

@VShawn commented on GitHub (Jun 11, 2021):

Tags should not be case sensitive IMO

i don't think so - capitonym

Tags should be sorted when displayed

i think it is sorted now: sort by first letter. Where do you mean there is no sorting? If you mean custom sorting, well, there is no time for me to implement it : (.

improvement

some of the improvements have been considered, but since it takes me a lot of time to build the UI, I plan to take it slowly, launching this available version first, and then iterating and upgrading.


i will fix the bugs first.

<!-- gh-comment-id:859217998 --> @VShawn commented on GitHub (Jun 11, 2021): > Tags should not be case sensitive IMO i don't think so - [capitonym](https://en.wikipedia.org/wiki/Capitonym) > Tags should be sorted when displayed i think it is sorted now: sort by first letter. Where do you mean there is no sorting? If you mean custom sorting, well, there is no time for me to implement it : (. > improvement some of the improvements have been considered, but since it takes me a lot of time to build the UI, I plan to take it slowly, launching this available version first, and then iterating and upgrading. --- i will fix the bugs first.
Author
Owner

@majkinetor commented on GitHub (Jun 11, 2021):

Tags on item should IMO be sorted, currently they appear in the order of input.
Regarding capitonym, it is far from problem - the same objection applies to more fundamental things like windows file system case insensitivity.

<!-- gh-comment-id:859405795 --> @majkinetor commented on GitHub (Jun 11, 2021): Tags on item should IMO be sorted, currently they appear in the order of input. Regarding capitonym, it is far from problem - the same objection applies to more fundamental things like windows file system case insensitivity.
Author
Owner

@majkinetor commented on GitHub (Jun 12, 2021):

Other thing being pretty good, I think the major thing that needs to be redone is tag editor. It currently has the following problem:

  1. Automating switching from view to edit mode and vice versa is districting, especially with what looks is like 2s timer.
  2. It should use autocomplete instead [+] button or along with it
  3. Bug: you can make empty tags in view (start with comma, not really made)
    details
    image
<!-- gh-comment-id:860104726 --> @majkinetor commented on GitHub (Jun 12, 2021): Other thing being pretty good, I think the major thing that needs to be redone is tag editor. It currently has the following problem: 1. Automating switching from view to edit mode and vice versa is districting, especially with what looks is like 2s timer. 2. It should use autocomplete instead [+] button or along with it 3. Bug: you can make empty tags in view (start with comma, not really made) <details><summary>details</summary> ![image](https://user-images.githubusercontent.com/85767/121788374-11111b00-cbcd-11eb-8208-2bdc5c40f8eb.png) </details>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/1Remote#1049
No description provided.