Network maps lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- aldowsky · 2013-08-09 19:58 Just to ask about possible solution made using Lazarus. Application with routers, switches (and other devices) icons at the left side, white panel at the middle, biggest part of the screen, icons may be drag'n'dropped to that panel, every icon should be clickable, in properties of the icon there should be IP address, port, telnet / ssh radio button (to be chosen), so clicking to an icon putty-telnet or  putty-ssh should be automatically started (of sourse, with IP address of the device as parameter). Links between devices with interfaces / speed. This would be some network mapping application, for easy access to devices from one point, using simple, and practical GUI. In later development it would have capabilities to autosave devices configs, autoconfig devices, checking devices using SNMP, and many other tasks. For example right click, menu, then from the menu load and view config. Please, I would need opinions - is Lazarus capable of making such application, interactive network maps  (I would expect that answer would be yes, but, I hope that answer will not be just short - yes, but some extended opinion about that)? Did somebody try already to make something similar using Lazarus? Thank you very much. ---------------------------------------------------------------------- taazz · 2013-08-09 20:22 This seems like an interesting project. There is simplegraph http://sourceforge.net/projects/evssimplegraph that you can use for the design part. It has most of the plumping for what you want already in there you will need to create at least 2 new classes 1 node that can represent a device and 1 link that will represent the connections between devices. You  might want to create more than 1 node classes one for each type of device but that's up to you. As for putty call Tprocess is the class for this kind of jobs I don't see something overly time consuming to build something like this unless of course  you want to build in more functionality than what you tell us eg automatic device detection, auto layout etc then the game changes a bit but not much. ---------------------------------------------------------------------- jma_sp · 2013-08-09 21:12 Ufffff it seems to be a huge project. I have not enough knowledge and not time to help in it. For inspiration in what you like to create see: - http://www.nagios.org/ - http://www.mikrotik.com/thedude - http://www.ocsinventory-ng.org/en/ - http://net-snmp.sourceforge.net/ With FreePascal: - http://sourceforge.net/projects/yana/?source=directory Look at (for packages you can add to Lazarus about networking): - http://wiki.freepascal.org/Networking - http://wiki.freepascal.org/Internet_Tools - http://forum.lazarus.freepascal.org/index.php?board=38.240 and - http://synapse.ararat.cz/doku.php if you can understand how it works. Also you can use several database (for simplicity SLQLite) with Lazarus to store the information. Note: i have a problem using forms with resolution more big than real screen area in development time. For the rest of development you can use existing standard components. It would very insteresting to can use differents images of devices as an object with multiple  desplegable options that informs about a lot of properties as IP, Network Mask, MAC address, packets TX/RX, computer name.........) and the posibiity of draw more of one line to link one device (eg. computer with more than one network card, switch with a lot of ports ....) with differents width and colors/patterns (for differents types of network and bandwidth). Also you need study about OID of network devices............ Professional applications uses zoom for a global network view. Sorry for my english (i am not a native speaking english) ---------------------------------------------------------------------- Leledumbo · 2013-08-10 04:59 I think you would need a SCADA package. ---------------------------------------------------------------------- BigChimp · 2013-08-10 05:04 Apart from what others said: you can automate SSH using synapse; no need for tprocess/putty. ---------------------------------------------------------------------- aldowsky · 2013-08-14 11:11 Thanks all for responses and suggestions. Have to say that Lazarus IDE, has some extraordinary capabilities, and may be used for large projects. Of course, as mentioned, time and good planning is needed (but this is always important). Checked simplegraph, would need more time to see details in it. Looks really simple and basic. Also, checked some of mentioned projects related to Lazarus, seems that there are lot of very good ideas (and completed applications as well, of course). Checked pascalscada. It looks impressive, it seems to be an environment inside environment. Looks related to industry environment, but seems that it can be used in wide area of devices controlling. Using synapse is also great suggestion, to simplify access (object control) to devices. There is networknotepad program, both freeware and commercial versions, I found there some similarity with the details I am planning to put inside the project I am starting. If anybody has any other ideas, please put opinion here.  Preparing to start the project. Again, thanks all for suggestions! ---------------------------------------------------------------------- BigChimp · 2013-08-14 11:56 Have a forum search; there's e.g. snmp code at http://forum.lazarus.freepascal.org/index.php/topic,12909.msg84956.htm l#msg84956