<div dir="ltr">Hi Sergey,<div><br></div><div>Thanks for you email. There is a lot of interesting topics, I'll try to answer to all of them :)</div><div><br></div><div>For the view complexity of the topology, you're right, that's why we started to rewrite the D3 view to bring something more stable in term of node placement but also being able to leverage the filtering mechanism we have to reduce the number of elements present in the view and sent by the server. Currently we don't have anything ready yet, just a POC.</div><div><br></div><div>For the "different view thing", there is a way to achieve this which is for sure not perfect. We do have this "graph" object listening the websocket connection and dispatching message to layouts. Currently two layouts are listening the graph events, the "standard" topology view and the Openflow rules view. The last one displays only the flow rules. That is for sure something we need to rework in order to make it more flexible and more clear.</div><div><br></div><div>It seems to me that we already have some of what you suggested but not clearly identified and decoupled. That's where we want to push efforts. The typescript migration will help on this.</div><div><br></div><div>Do you think you can share the work you did around the typescript migration ? We think that this conversion we will be the first step toward a better architecture.</div><div><br></div><div>Another question a bit out of topic, do you think you can share in which context you used Skydive ?</div><div><br></div><div>Thanks,</div><div>Sylvain</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 10, 2018 at 5:26 PM, Sergey Glazyrin <span dir="ltr"><<a href="mailto:s.glazyrin@partner.samsung.com" target="_blank">s.glazyrin@partner.samsung.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_8365125739118221217WordSection1"><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Hello guys!<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">This is a follow up of discussion we started with Sylvian month ago.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Sorry Sylvian, was busy.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal" align="center" style="text-align:center"><b><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">How do we extend skydive frontend if customers want to customize it ?<u></u><u></u></span></b></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Problems/Use cases:<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:.5in"><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><span>•<span style="font:7.0pt "Times New Roman""> </span></span></span><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Network topology sometimes very complicated, what if want to show only nodes between two network elements ? A and B ? Customers/People want to have a simplified interface.<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:.5in"><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><span>•<span style="font:7.0pt "Times New Roman""> </span></span></span><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">We may need to show only part of Metainformation for network elements. </span><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">How can we do that ?</span><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u><u></u></span></p><p class="MsoNormal" style="margin-left:.5in"><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><span>•<span style="font:7.0pt "Times New Roman""> </span></span></span><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Will the browser behave good if we show network topology for 2000 hosts? </span><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Will it have a problem with memory ?</span><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal" align="center" style="text-align:center"><b><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Solve performance problem<u></u><u></u></span></b></p><p class="MsoNormal" style="margin-left:.5in"><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><span>•<span style="font:7.0pt "Times New Roman""> </span></span></span><u></u><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Introduce different levels of detalization: host detalization, concrete host detalization. Then we may need only small datasets, if we have 2000 hosts, we may need only a hosts and network elements which connect hosts to each other.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal" align="center" style="text-align:center"><b><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Solve problem of different layouts/views.<u></u><u></u></span></b></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Here we may introduce another abstraction: workload which will be responsible for transformation data sets/simplification/another custom user needs.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal" align="center" style="text-align:center"><b><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Skydive frontend new architecture<u></u><u></u></span></b></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><img width="1243" height="360" id="m_8365125739118221217Picture_x0020_3" src="cid:image002.png@01D3E884.00FF3A10"></span><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal" align="center" style="text-align:center"><b><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Conclusion<u></u><u></u></span></b></p><p class="MsoNormal" align="center" style="text-align:center"><span lang="PL" style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">I believe such approach would help us to have a lot of different views/workloads and easiest usage of frontend<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">PS: Around 20-30% we migrated to typescript but then we stopped migration because of tight deadline.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Sylvian reply:<u></u><u></u></span></p><div style="border:none;border-left:solid #1f497d 1.0pt;padding:0in 0in 0in 4.0pt;margin-left:.5in;margin-right:0in"><p class="m_8365125739118221217Mailquote" style="margin-left:0in"><span style="background:white">Hi Sergey,</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#953735"><u></u><u></u></span></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in"><u></u> <u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">Great ! As we wanted to provide other views for the topology, the D3 things implemented as a library is really something interesting, especially using typescript. Do you have any code available or something ? Tests would be really useful too.<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">About the "more user-friendly" frontend, do you have anything that you can share, it will help us to improve it :)<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in"><u></u> <u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">Regards,<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">Sylvain<u></u><u></u></p></div><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white">Previous email:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222;background:white"><u></u> <u></u></span></p><div style="border:none;border-left:solid #1f497d 1.0pt;padding:0in 0in 0in 4.0pt;margin-left:.5in;margin-right:0in"><p class="m_8365125739118221217Mailquote" style="margin-left:0in"><span style="background:white">Hello guys!</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><u></u><u></u></span></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">I do like your skydive stuff but I need to customize frontend of skydive to make it more userfriendly for customers + my own stuff, a bit differnet data, etc....<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">I started rewriting javascript frontend on TypeScript.<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">But then I realized I've no time to finalize it because we have a tight deadline.<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">It's not a problem.<u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">In general I love skydive, love frontend, especially D3 related stuff. But I'd like to work on moving this D3 related stuff, getting information from websockets in this npm package, without any Vue things, etc.<br clear="all"><u></u><u></u></p><p class="m_8365125739118221217Mailquote" style="margin-left:0in">Would be that interesting for you ? If I implement it with tests, etc, would you consider to to migrate to this npm package ?<u></u><u></u></p></div><p class="MsoNormal" style="background:#f1f1f1"><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><img width="1" height="1" id="m_8365125739118221217Picture_x0020_1" src="cid:image001.gif@01D3E883.A6E6F4F0" alt="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></span><span style="font-size:9.5pt;font-family:"Arial","sans-serif";color:#222222"><u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Best, Sergey<u></u><u></u></p><p class="MsoNormal">Samsung R&D Institute Poland<u></u><u></u></p><p class="MsoNormal"><span lang="PL">Samsung Electronics<u></u><u></u></span></p><p class="MsoNormal"><span lang="PL">Cell: +48731810674<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p></div><table id="m_8365125739118221217bannersignimg"><tbody><tr><td><p> </p>
</td></tr></tbody></table><table id="m_8365125739118221217confidentialsignimg"><tbody><tr><td><p> <img style="border:0px solid currentColor;width:520px;height:144px;display:inline-block" src="cid:cafe_image_0@s-core.co.kr"> </p>
</td></tr></tbody></table></div><img src="http://ext.w1.samsung.net/mail/ext/v1/external/status/update?userid=s.glazyrin&do=bWFpbElEPTIwMTgwNTEwMTUyNjIzZXVjYXMxcDIzNzljMDQ4MTI4YjQzMTBmMzBmNjkzNzQ4OGYzYjViYyZyZWNpcGllbnRBZGRyZXNzPXNhZmNoYWluQHJlZGhhdC5jb20_" border="0" width="0" height="0" style="display:none"></blockquote></div><br></div>