On June 29, 2010, Aaron J. Seigo wrote: > On June 29, 2010, Thomas Fjellstrom wrote: > > Basically the way the DataEngine is setup right now is each "Host > > Source" is given a single Data Source, with a type of "source", and a > > QStringList "hosts" property listing the hosts owned by this source. > > After that each host that the host source provides is its own source > > with a number of other properties (address, type, mac, name, isUp). > > so there are discovery mechanisms (zeroconf, e.g.) and hosts, correct? > given discovery mechs d1, d2 and d3 and hosts h1..h6, the DataEngine > looks something like this: > > d1 > hosts = h1, h2 > d2 > hosts = h4, h5 > d3 > hosts = h6, h7 > h1 > address = > type = > mac = > name = > isUp = > h2 > address = > type = > mac = > name = > isUp = > h3 > address = > type = > mac = > name = > isUp = > h4 > address = > type = > mac = > name = > isUp = > h5 > address = > type = > mac = > name = > isUp = > h6 > address = > type = > mac = > name = > isUp = > > > is there any reason not just just skip the d1, d2 and d3 sources and just > list the hosts directly? does the visualiation need to list "all hosts > that were found using libvirt" such that it warrants the above > structure?
It is not absolutely necessary. But I can see wanting to group by type. I'm not sure you want your virtual machines mixed up with manual hosts, or with the dynamic ones. I was also planning on adding a "cache source" of sorts to remember hosts that the zeroconf or other dynamic sources have forgotten about for one reason or another (ie: the machine is off, but you may want to turn it back on from the plasmoid using WoL), but you may not want to have them shown all the time. Imagine it displayed using a layout similar to a tree, except without the branches or anything. Just headers and items that collapse into the header on command. > > to me, it would seem more natural to just list the hosts and the > visualization can initially iterate over all sources() and then connect > to the sourceAdded and sourceRemoved signals to be notified when hosts > come and go. > > that would resolve your issue fairly neatly? It is the first design I thought of. I'm not entirely convinced that grouping is necessary, but if you have a lot of hosts, you may want to hide entire groups of them. With libvirt and Zeroconf/DNDSD sources you could easily have many tens, or hundreds of hosts just appear if you walk into an office building, a data center, or you're sharing a busy wifi network that happens to have wifi-separation turned off. And you may also be interested in /some/ of those hosts but not all, so you may not want to turn off the dynamic sources. -- Thomas Fjellstrom [email protected] _______________________________________________ Plasma-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/plasma-devel
