[ZBXNEXT-2031] Ability to draw fixed rectangle, circle,... on a map to group for example some hosts. Created: 2013 Nov 19 Updated: 2024 Apr 10 Resolved: 2017 Aug 04 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Frontend (F) |
Affects Version/s: | 2.0.9 |
Fix Version/s: | 3.4.0alpha1, 3.4 (plan) |
Type: | New Feature Request | Priority: | Critical |
Reporter: | Steven Cool | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 5 |
Labels: | None | ||
Σ Remaining Estimate: | Not Specified | Remaining Estimate: | Not Specified |
Σ Time Spent: | Not Specified | Time Spent: | Not Specified |
Σ Original Estimate: | Not Specified | Original Estimate: | Not Specified |
Environment: |
NA |
Attachments: |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||||||||||||||||
Issue Links: |
|
||||||||||||||||
Sub-Tasks: |
|
||||||||||||||||
Epic Link: | DEV-561 | ||||||||||||||||
Team: | |||||||||||||||||
Sprint: | Sprint 2, Sprint 3, Sprint 4, Sprint 5, Sprint 6, Sprint 7, Sprint 8, Sprint 12 | ||||||||||||||||
Story Points: | 8 |
Description |
It would be nice to be able to draw free forms on a map. For example a rectangle that can visually group some hosts. My work-around is now to use the attached corners and connect them with links between them. |
Comments |
Comment by Alexey Korepov [ 2016 Jul 18 ] |
This feature very useful, thanks for workaround. But how I can add this icons to Zabbix Map? |
Comment by Alexey Korepov [ 2016 Jul 18 ] |
Sorry, I have found the answer: https://www.zabbix.com/forum/showthread.php?t=47365 |
Comment by Alexey Korepov [ 2017 Feb 15 ] |
Here is example how can be designed map with figures: http://i.imgur.com/JvVmUeV.png |
Comment by Vjaceslavs Bogdanovs [ 2017 Mar 15 ] |
Ready for testing in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-2031 |
Comment by Andris Zeila [ 2017 Mar 15 ] |
(1) [I] problems in database patch/default templates:
Also please review minor formatting fix in r66388 vjaceslavs RESOLVED in r66389 wiper Please review r66391 |
Comment by Andris Zeila [ 2017 Mar 15 ] |
Database patch tested. |
Comment by Natalja Romancaka [ 2017 Mar 15 ] |
(2) [F] icons (map elements) are not displayed in map view, only in constructor. Firefox version 45.0.2 vjaceslavs RESOLVED in r66405 natalja.zabbix ui tested iivs CLOSED |
Comment by Natalja Romancaka [ 2017 Mar 15 ] |
(3) [F] maps are not displayed in slide show vjaceslavs Two .js files were missing on that page. RESOLVED in r66417 natalja.zabbix ui tested iivs CLOSED |
Comment by Natalja Romancaka [ 2017 Mar 16 ] |
(4) [F] The context menu of shape elements are not displayed near element, in the last Firefox appears under map, in Firefox 45.0.2 quickly disappears vjaceslavs RESOLVED in r66445 natalja.zabbix ui tested iivs CLOSED |
Comment by Marc [ 2017 Mar 16 ] |
Is there possibly a tiny little chance to get ZBXNEXT-875 addressed here as well? Just saw the designated context menu in the screenshot allowing ordering. Since the comment was using the term "elements", I wonder whether it could be indeed available for, well, all elements incl. icons |
Comment by Vjaceslavs Bogdanovs [ 2017 Mar 16 ] |
okkuv9xh we are working on that as a part of improved Map solution. |
Comment by Natalja Romancaka [ 2017 Mar 16 ] |
(5) [F] after changing shape coordinates or size in shape options dialog, resizing controls remain on the same place vjaceslavs RESOLVED in r66451 natalja.zabbix ui tested iivs CLOSED |
Comment by Natalja Romancaka [ 2017 Mar 16 ] |
(6) [F] layered order not work properly with 3 or more shapes vjaceslavs RESOLVED in r66460, r66461 natalja.zabbix ui tested iivs CLOSED |
Comment by Natalja Romancaka [ 2017 Mar 16 ] |
(7) [F] map xml import doesn't import shapes vjaceslavs RESOLVED in r66462 natalja.zabbix ui tested iivs CLOSED |
Comment by Natalja Romancaka [ 2017 Mar 16 ] |
(8) [F] full cloning of map does not clone shapes vjaceslavs RESOLVED in r66477 natalja.zabbix ui tested iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 20 ] |
(9) Translation strings as of r66711 Strings added:
Strings deleted:
vjaceslavs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 20 ] |
(10) [F] After deleting a shape, other shapes are longer moving back and forth: vjaceslavs RESOLVED in r66550 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(12) [F] The default color for border is #2D2D2D. Why this is the a default one? It looks almost invisible on dark theme. Also this color can no longer be select from color picker. In short it's a bad choice for default color. vjaceslavs Changed color to #DD0000. RESOLVED in r66594 iivs It seems like we have mismatching defaults in DB and frontend. For example this color is now red in frotend, but in DB it's black. Maybe it's better to leave it completely black? It's still perfectly visible on dark theme. Also there are other parameters like z-index. In specification it's 0, but in DB it's -1. Font size in frontend is 10, but in DB is 11. Border width in frontend is 2, but in DB it's 1. We should use default values from DB (schema.inc.php) and fill them in frontend fields. On a side note: specification doesn't say the default font. It only mentions possible values. REOPENED. vjaceslavs There is a simple explanation for this missmatch. DB defaults describe common scenario for most of the cases. And common scenario would be a shape with no border (as some users will create elements with border and some will create it without), no background (just like for border - someone needs it, someone dont) and no text. DB defaults match API defaults and are made that way to allow users to easily create most of the shapes with no need to specify all of the attributes. If I need shape with a border only I would specify a border, if I need background color, I specify that. And this is true for the rest of the attributes. As for the map editor in frontend, it should show a visible map element so user can work with it. So we can't use defaults from DB as it would render invisible shape on a map editor that will make it hard to work with. As for the color, bold (2px) border is used to render new elements distinguishable from the others. Sure, there could be a color select before creating the shapes, allowing to create multiple shapes with the same predefined colors, but it would be outside of scope of this task. Specification was updated with default font value. Changed font size and border color to DB defaults. RESOLVED in r66667 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(15) [F] IE10 has no mouse over on shapes and impossible to select a shape. Sometimes by random chance I can find the perfect pixel to actually select the shape and edit properties, but most of the times the shapes are not selectable. vjaceslavs RESOLVED in r66625 iivs Since drop of IE10 support, this is no longer relevant. CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(16) [F] IE9 does not hide overflow. vjaceslavs Our documentation states that "Latest versions of Google Chrome, Mozilla Firefox, Microsoft Internet Explorer and Opera are supported". Do you propose to create custom solution for SVG masking in IE9 or to remove text from shapes in IE9? palivoda Known IE 9 problem. Out of this CR scope. WON'T FIX iivs After discussion with sasha, this has been split into two parts: documentation (45) and new issue |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(17) [F] Editing is not supported in IE9. vjaceslavs RESOLVED in r66626 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(19) [F] Empty new lines are not full rows. It's half of a row, although in my example there are two full new lines. Also it's not possible to move text by using spaces. Thus having an elipse and text at top left or bottom left aligment makes it useless feature. vjaceslavs This is the way your browser renders SVG tspan tags with dy attribute that is larger than 1em (1.2em to be precise). I don't think that any kind of hack is needed here. WON'T FIX |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(20) [F] I don't see anything wrong with having a huge image. So it's possible to create an object with large letters, but there is no telling what the limits are. And it will not say which shape is faulty. It doesn't have name. So it's not possible to know that I have an error before I press "Update". Instead a huge border is allowed: vjaceslavs There is a specification for this task. Upper limit for font size is mentioned there. Data validation before pressing "Update" is realy rare thing in Zabbix (and even then it is a posting of a form when form field is losing focus). Multiple client side validations were removed from specs because we want to "make things simpler". As for the huge border, you can propose additional data validations to any field. But I would say that this will be out of the scope of this task. WON'T FIX iivs We create a new development, introduce new fields and don't even validate them properly? This is just sad. iivs Discussed with sasha and moved this to |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(21) [F] No identification of that background has no fill. Instead title says #. The color icon is still the previous color, but input field has nothing in it. That might be confusing to some. vjaceslavs Changed to no indication for absence of color. RESOLVED in r66599 iivs Coding style: var background = color; 2) Multiple left-hand assignments is not good: curr_lbl.style.background = curr_lbl.style.color = background; REOPENED vjaceslavs Style fixes were made as a part of (39). RESOLVED in r66852 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(22) [F] Opera 12 and Safari 5 config showing wrong draggable borders. vjaceslavs There is no support for both browser versions from the vendors (from 2013). Should we support them if even vendor does not support them? I can tell that current solution does not work in IE6 and in Netscape Navigator as well. iivs We have customers and huge corporations around the globe that use older browser versions simply because they have to. We try to motivate them by suggesting to move to a latter version. We dropped support of IE8 only since 3.0.0 which can be found here https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300?s[]=ie8#dropping_ie8_support, so there is no need to mention IE6. iivs If we drop support of some browser, I believe it should be mentioned in documentation. For example, if we drop support for Safari 5.1.7 (which still is latest for Windows), then also we should extract the browser agent version and add a warning message like it's done for older IEs. As for Opera 12, it's not ancient. It had an update 12.18 february last year. Again... documentation and warning message in frontend would be a nice motivation. vjaceslavs RESOLVED in r66642 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(23) [F] Mutiple focuses after dragging element. I feels like I could drag them together, but no. vjaceslavs There are some cases when using Resizable and Draggable (from jQuery UI) can cause such visual effect (or defect) in some browsers. Effect (or defect) does not affect overall user experience in a bad way as resizing handles are not related to dragging in any way. WON'T FIX |
Comment by Ivo Kurzemnieks [ 2017 Mar 21 ] |
(24) [F] Switching border to "None" should probably hide "Width" and "Colour", otherwise it seems like the border is still active. vjaceslavs RESOLVED in r66630 iivs class.cmap.js: 724 REOPENED vjaceslavs RESOLVED in r67066 iivs Original problem is back: when switching to "None", fields "Width" and "Colour" and not disabled any more. REOPENED vjaceslavs Just checked one more time. Could you please describe specific case when switching border type to "None" does not work? And please check for cached JS, maybe that is the reason. There was an issue with reseting shape mass update form to default state (checkboxes should be reenabled). RESOLVED in r67098 iivs Seems to be fixed now. |
Comment by Oleg Egorov (Inactive) [ 2017 Mar 21 ] |
(25) [F] IE11 vjaceslavs RESOLVED in r66601 iivs CLOSED |
Comment by Oleg Egorov (Inactive) [ 2017 Mar 21 ] |
(26) [AF] Possible set shape width = 0. Should be added validation. vjaceslavs RESOLVED in r66604 iivs SVN message is incorrect. CMapElement is API, not frontend. REOPENED vjaceslavs Default size added. RESOLVED in r66636 iivs I dissagree about hardcoded size. Why don't we set that in database as default? If it's too much work, then even if it's a square it should have two default values seperately for width and hight in defines.inc.php. REOPENED vjaceslavs Agree. I will update specification in a moment. RESOLVED in r66637 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 22 ] |
(28) [A] font_color has no validation. It accepts empty strings and incorrect values. vjaceslavs font_color validation is RESOLVED in r66648 As for the zindex, field is used to specify order of the elements so -100000, 55 and 99999 is fine as there are no other meaning to this value except for the usage in compare operations. iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 22 ] |
(29) [A] Let's say I make a request like this: { "name": "API map", "width": 100, "height": 100, "shapes": [ {} ] } Result is a success. Shouldn't be. What shape is it? Where is it? If we set "shapes" parameter as empty array, OK, we can do that, since we probably want syntax to match update, but that is up for discussion, why create() method should accept empty array if it's set. But having and empty object inside? The API should render an error about missing mandatory fields, like shape type, for example. vjaceslavs RESOLVED in r66649 iivs Would've been nice to mention revisions where you made code re-factoring. Otherwise it's hard to test such things. |
Comment by Ivo Kurzemnieks [ 2017 Mar 22 ] |
(31) [A] map.create/map.update: vjaceslavs RESOLVED in r66654 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 22 ] |
(32) [A] Giving incorrect coordinates or dimensions, we get same message "Shape dimensions are not correct.". Coordinates and coordinates, but dimensions are dimensions. The message doesn't say anyting usefull. Same for other messages like "Shape font size is not correct.", "Shape type is not correct." etc. What are the correct values? The messages should be in this format: 'Incorrect value for field "%1$s": %2$s.' and second parameter should hold 'must be between "%1$s" and "%2$s"'. A message "Shape text alignment is not correct." doesn't say horizontal or vertical. vjaceslavs Unified error messages using CApiInputValidator for map shapes. RESOLVED in r66852, r66913. iivs Discussed with sasha and decided to add defines for shape type and borde type, since those are used in multiple places and files. Other min/max properties are fine for now. There is a plan to intergrate mix/max values in schema some time in the future. REOPENED vjaceslavs Added text alignment options to defines as well. RESOLVED in r67285 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 22 ] |
(33) [A] map.update: "Shape dimensions are not correct." message appears even if they are correct. create() method works, but same values added in update() method, the update fails. vjaceslavs Failed to reproduce. Please provide some more info on API call used. I performed two subsequent calls: "map.create", { "name": "API CHECK", "width": 600, "height": 600, "shapes": [ { "type": 1, "x": 10, "y": 10, "width": 100, "height": 100, "background_color": "FF00FF" } ] } got response "jsonrpc":"2.0","result":{"sysmapids":["16"]},"id":1, and performed update request with the same data (except for map id): "map.update", { "name": "API CHECK", "width": 600, "height": 600, "sysmapid": 16, "shapes": [ { "type": 1, "x": 10, "y": 10, "width": 100, "height": 100, "background_color": "FF00FF" } ] } iivs I found out that I was trying to update a map that previously had incorrect width and height. I provided the map with new shape and correct width and height values. And it didn't work. So regradless of previous shape validity, it should be replaced by new one. vjaceslavs RESOLVED in r66669 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 23 ] |
(36) [AF] 3.2 import doesn't work. vjaceslavs Added conversion for 3.2. RESOLVED in r66671 iivs Unit test fails. Unit test needs to be updated. REOPENED vjaceslavs Fixed unit tests. RESOLVED in r66674, r66675 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 23 ] |
(37) [F] Several different fonts: vjaceslavs Here is a image prior this task: WON'T FIX sasha On my FF and Safari browsers the text looks differently: REOPENED vjaceslavs There is a simple explanation for that. There is default map font and default shape element font. Map label is created using default shape font, but element and link labels were created using default map font. Just to make things even I changed default map font to match default shape font. Nevertheless fonts can still look different on different systems / different browsers (not pixel perfect, as client side is rendering an image and rendering result depends on rendering engine used) and will not match font used in HTML. RESOLVED ir r66679 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Mar 23 ] |
(38) [F] When map is deleted in another tab, in monitoring it can no longer display error once page has been auto-refreshed. It just keeps displaying pre-loader. The response contains HTML not JSON. vjaceslavs RESOLVED in r66681 iivs Discussed with sasha and decided that error message shouldn't contain time and link to Zabbix website. REOPENED vjaceslavs RESOLVED in r67118, r67135 iivs CLOSED |
Comment by richlv [ 2017 Mar 26 ] |
issues, likely solved by this one : issues, partially solved by this : issues that could have been solved by this, but do not seem to be currently : |
Comment by richlv [ 2017 Mar 26 ] |
(40) trunk r66741. while the cursor changes for the resize operations, it does not change for the "move" operation - this is quite confusing, as it is unclear what has to be targeted with the cursor to move the object vjaceslavs I would say that this is one more reason to separate two things:
Currently, the main problem is that map object should not be selected in order to perform resize or move operations. Selection of a map object brings up the modal window. To avoid adding move cursor on objects before they I even selected I propose to add extra action to context menu (like "Properties") that will shows modal window (same could be done with doubleclick and possibly some a keyboard key combination). After that, operations like move and resize could be made to selected map objects that will avoid confusion. vjaceslavs Moved to DEV-570 (5) |
Comment by richlv [ 2017 Mar 26 ] |
(41) trunk r66741. macro support seems to be highly confusing :
there does not seem to be a good reason for this difference, it is confusing, and making the support universal would partially solve ZBXNEXT-380 vjaceslavs Currently, decision was made by sasha that this is intended logic for the current task. As a part of possible improvement, |
Comment by richlv [ 2017 Mar 26 ] |
(42) trunk r66741. regression - "expand macros" functionality lost. vjaceslavs Moved to DEV-570 (8) |
Comment by richlv [ 2017 Mar 26 ] |
(43) trunk r66741. regression - no way to get the map image. the new vector map functionality is working really well already - great job vjaceslavs It is planned to provide option to use map as a widget. Currently it was decided that support or raster graphics for prerendered maps is out of scope of this task. |
Comment by richlv [ 2017 Mar 26 ] |
(44) inconsistent text properties. currently shapes have a way to format the text - font, size, colour. elements do not have this ability. this is also a bit confusing and unexpected from the user perspective. vjaceslavs Refactoring of the existing functionality and adding some new features like a context menus or text properties to the elements / links is a part of DEV-570. <richlv> DEV-570 does not seem to be accessible - is that a feature request ? <vjaceslavs> Decision was made at the beginning of development of this task that existing map code should not be refactored (in a scope of this task) and changes should be made to only the things that are in scope of this task (this is the reason why elements and links don't get new features right now). DEV-570 is a refactoring task for existing map solution. There are multiple things listed related to the previous map solution (like performance and usability) and and some new things like "if we added feature X to shapes, then feature X should be made available to elements and links". Your subtask was moved to DEV-570 as it is related to existing functionality (the way elements work) and is out of the scope of adding shapes to maps or changing rendering method from raster to vector. <richlv> thank you for the update, it is helpful |
Comment by Ivo Kurzemnieks [ 2017 Mar 27 ] |
(45) [D] After discussion with sasha it's now clear that we are dropping support of IE9 and IE10. This needs to be documented. This in relation to sub-issue (16). martins-v Documented in: RESOLVED vjaceslavs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Apr 06 ] |
(49) [A] Border width 2 is very small. Discussed with sasha and decided to increase maximum border width to 50. vjaceslavs RESOLVED in r67110 iivs CLOSED |
Comment by Ivo Kurzemnieks [ 2017 Apr 18 ] |
(52) Additional translation string changes.
vjaceslavs CLOSED |
Comment by Natalja Romancaka [ 2017 Apr 27 ] |
(55) [F] "Send backward/Bring forward" depends from all shapes on the map, even if they are not related to each other. So in some cases it's seems like "bring forward/Send backward" does not work vjaceslavs Shapes are not grouped. Consider the following case: Each number represents z-index of the shape. When I send green shape to back (green shape is now behind every shape), I get the following order: And this is the expected behavior as there are no groups and any shape can be moved anywhere and ordering should be preserved. So the only way to allow ordering and moving is to change order relative to all the shapes. This causes cases when multiple "bring" / "send" operations are needed, but this is intended. WON'T FIX sasha I agree. Current behavior is very clear. CLOSED |
Comment by Vjaceslavs Bogdanovs [ 2017 May 09 ] |
Available in 3.4 (trunk) r67948 |
Comment by Natalja Romancaka [ 2017 May 10 ] |
(58) [F] shape moving "send to back/front" works only, when shape selected. So if shape not selected and mouse over the shape, context menu lines "send to back/front, etc." should be disabled vjaceslavs RESOLVED in r67988 iivs CLOSED |
Comment by Vjaceslavs Bogdanovs [ 2017 May 10 ] |
Available in 3.4 (trunk) r67994 |
Comment by Vjaceslavs Bogdanovs [ 2017 May 13 ] |
Available in 3.4 (trunk) r68104 |
Comment by Vjaceslavs Bogdanovs [ 2017 May 23 ] |
Available in pre-3.4.0alpha1 (trunk) r68476 |
Comment by Dimitri Bellini [ 2017 Oct 13 ] |
Hi, today i have started to use the new features of the Maps on 3.4 and i have discovered a miss feature I was thinking to use a "shape box" to show a "realtime/macro" host value (ex. {Zabbix server:system.cpu.util[,idle].last(0)}) and i was surprised that is not possible use the concept of macro inside of the shape. Do you have think about it? There are some plan to develop this feature? Thanks very much |
Comment by Vjaceslavs Bogdanovs [ 2017 Oct 13 ] |
dimitri.bellini, we added this feature in |
Comment by Dimitri Bellini [ 2017 Oct 13 ] |
Hi Vjaceslavs, |