From: Kern S. <ke...@si...> - 2006-08-26 08:47:45
|
Hello, On Saturday 12 August 2006 23:41, Dorogi P=E1l wrote: > >GUI -- (The interesting problem). I'd like to ensure that Bacula *final= ly* > >has a complete and good GUI. Personally, I like good GUIs, but I=20 > don't like >=20 > This is a big and nice project with lots of changes in bacula code. >=20 > So,first we must to know what we have or don't and what we can to do or=20 > not with that. >=20 > We have: > 1. director (ua commands and ua dotcommands), > 2. filed (filed commands), > 3. storage (storage commands). >=20 > And what we need? > 1. GUI, > 2. Inerface (API) between GUI and bacula with events handling and=20 > callbacks support. I think the callbacks can be embedded in the user part of the API. > How we can do the event handling?=20 What do you mean by events? > Add more signal type.=20 > The callback is easier because if we have an event then we can use a=20 > callback function. Callbacks are my proposed solution for commands that return a variable amou= nt=20 of data. >=20 > What can we do with director? > So, we have a nice director with user agent commands and dotcommands.=20 > OK. it's great. > Just the problem is that the director user interface was written for=20 > the humans not for GUIs. > I think for the humans is great, but GUIs? >=20 > For example if you write the 'status director' command you will get the=20 > human readable > result. Ok, this is not problem. But if you set the debug to 200 with=20 > 'setdebug' command, > and you write again the 'status director' command you will get the=20 > different result of it and > how you parse all the type of results? > So, the results of commands are not consistent and well defined.=20 > That are just some of the other problems. Yes, this can be improved by implementing .status commands. In fact, there= =20 are already some such commands (you may not have seen them). They are used= =20 for the tray-monitor program. >=20 > So, I think we have to specify which ua_{,dot}commands are useful for a=20 > GUI and specify the > results of them. For example the 'time' command results will be in=20 > ISO8601 like this: > "1000 OK 20060812T192955+0100" > and not the 12-aug-2006 19:29:55. > And if somebody doesn't want to see the number prefixes (maybe the=20 > bconsole users) then > will be a command like the existed 'gui' set to it on or off. I see your point, but is this particular case, I don't find the second any= =20 harder to parse than the first. >=20 > And another problem that some command is need a real user intervention and > block the another command to run. > So, how can we paralellise it? Maybe the API create a new TCP session=20 > for the blocker command or we define two or more global > sessions for it (status, control, etc.). And those dedicated channel=20 > just do what they need. I don't think it is hard to create asynchronous commands, but it is not cle= ar=20 what benefit it would give. For example when you request something from=20 MySQL, you wait until you get the answer back before continuing. I think=20 this is the same for Bacula. I could imagine that for a *few* special=20 commands that you might want to be able to run them in the "background", su= ch=20 as "prune" or "purge" when you know it will take a long time. However, the= re=20 are really very few commands of that nature. > And, so on.... >=20 > Conclusion: We don't have a concept but we have a lot of unanswered=20 > questions.:)))) Thanks for the observations. >=20 > Best regards, >=20 > Pal >=20 >=20 > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job=20 easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Bacula-devel mailing list > Bac...@li... > https://lists.sourceforge.net/lists/listinfo/bacula-devel >=20 |