]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/qt-console/TODO
a219844ec88ccd92a3af7d0c36e7d75a00df6f3c
[bacula/bacula] / bacula / src / qt-console / TODO
1 dhb
2 ====================================================
3 Test restore and get anything not working, working.
4
5 Get restore into stack.
6
7 Play with includes to Make these compiles shorter.
8
9 Create list of what does not work.
10 From what I can tell, just the restore window on the left.
11
12 Add numerous are you sure dialog boxes.  Like are you sure you want to
13 delete/purge that volume.  Show a little of the documentation about what
14 the consequences of delete or purging are.
15
16 Add context sensitive options for most commands
17 status dir on page select director item
18 All items with jobid= that I thought could work from joblist are done.
19 As well as many more
20 update slots scan
21
22 preempt all connections to console with 
23 if (!is_connectedGui())
24 or some other mechanism.  Partially done.
25
26 Create documentation for any other developers interested in creating
27 new classes to add more pages.  Explain how to use the pages class
28 and about not populating until the tree widget is clicked etc...
29
30 LOW priority items:
31
32 Get rid of "Warning: name layoutWidget is already used" when make uic's restore.ui
33
34 move behavior of:
35   MainWin::setContextMenuDockText
36   MainWin::setTreeWidgetItemDockColor
37 to the pages class
38
39 Think about good ways to clean up the Console creation part of the
40 loop creating pages.
41 ========================================================
42 This release or next:
43
44 A window showing a list of jobs and defaults.  Defaults can be gotten in manner
45 similar to what the first restore window does.
46
47 A window showing a list of schedule resources. 
48
49 Kern discussed windows showing statistics like web based interfaces.
50 ========================================================
51 Future Releases :
52
53 The ablility to modify configuration files to create jobs, schedules, filesets
54 and any other director resources.
55
56 The ablility to modify configuration files to create storage resources.
57
58 Add a status dir graphical interface.  It would auto update every ?? seconds
59 and have a list of scheduled jobs, and in the que to run jobs that could be
60 cancelled graphically.
61
62 Add a status client window.  Keep updating showing what file is being
63 processed.
64
65 A Tree widget context sensitive menu option and class to jump from known job
66 to surf the filestructure on the job.
67
68 bRestore add code to get working.
69
70 ===========================================================
71 NOT SURE
72 ===========================================================
73
74 I'm not sure about this one??  Things seem to work and I did not do a
75 thing to make it happen:  the "dir" is a member of Console
76
77 - We also must somehow make the low level I/O routines know which
78 director/console to use.  Currently they always use the single
79 global one defined in the mainWin class (if I remember right).
80
81
82 ============================================================
83 DONE:
84 ============================================================
85
86 relabel storage=DDS3 oldvolume=ddsvol003 volume=dds3vol003 slot=3 pool=dds3_hope
87 in label slot spinner, limit the upper to the value of slots for that storage.
88
89 Fix bug in myth box not working with .sql query="" command.
90 This was a fix in mysql
91
92 Figure out how to get tables like Joblist to do the equivalent of double clicking
93 on the separating lines between each of the headings.
94 Tried the hard way first.  Oops.
95
96 If the console command line entry docked widget gets the focus, make 
97 m_currentConsole the top widget by setting the treewidgetitem selected.
98 Did this in MainWin::input_line almost better to let the person see
99 whatever they want until they hit enter.
100
101 Set Window titles to reflect what director it is.
102
103 Must:: get page selector to follow undocked windows.  Otherwise
104 current console won't be current.
105
106 Re-add class for storage, I accidentally reverted because I left
107 it on my laptop.  This is why I like committing often.
108
109 Add class for FileSets
110
111 Another idea for what you have implemented:
112 - I think that the dynamic pages that you create on the fly
113 should be nested under the item that creates them more like a
114 directory tree.
115
116 For example: Jobs on Volume xxx, probably should be shown under
117 "All Jobs" (or Media if that is what created it) and "Jobs of
118 Client Rufus" probably should be shown under "Clients".  I base
119 this on looking at the Select page list after I have brought up 3
120 or 4 dynamic pages.  Once there are a good number, I get a bit
121 confused where they came from.  This would also permit selecting
122 multipe Volumes then displaying multiple pages, one for each
123 Volume selected.  If they are nested, then that nested level can
124 be expanded or collapsed, which would be pretty cool at keeping
125 information, but getting it out of the way, sort of like what
126 happens for a directory tree.
127
128 dhb: ref above
129 My original concept was to put these in a tabbed widget.  Your Idea may
130 make for a cleaner user experience.  I like it.  It could save the
131 effort of getting a tabbed widget to work.
132
133
134 - I think we need to make the current Director more explicit, by
135 perhaps highlighting it in the page selector when it is current
136 and unhighlighting it when it is not (we could use color as we do
137 for the console, though some color blind people may have
138 problems.
139
140 - When any director is clicked, we need to set it as the current
141 director and set the current console as well.
142
143 Remove DoubleClicking, From pages class not needed any more.
144
145 Broken with multiple directors:
146 - If you click on the second director, it will probably open, but
147 none of the pages that are defined below it will be able to talk
148 to it.  They will most likely talk to the first director.
149
150 - When any console is clicked we need to set it as the current
151 console (m_console) and also set its director as the current
152 director (m_topItem).  These are in the mainwin class.
153
154 - When any page is selected, we must set both the current
155 director (m_topItem) and current console (m_console) that this
156 page is connected to.
157
158 dhb:
159 m_topItem has been changed to Console::directorTreeItem()
160 m_currentConsole->directorTreeItem(); returns disired treeWidgetItem
161
162 - We also need a concept of a "local" director/console for each
163 page, so the page knows who it is talking to -- this doesn't
164 currently exist, so I think we must pass the director and console
165 to each page widget constructor.
166  
167 dhb:
168 m_currentConsole is saved in each page subclass's m_console.  This value
169 is set by all but the console class calling Pages::pgInitialie() in it's
170 constructor
171
172
173 In short, there is a lot of work to be done to make multiple
174 simultaneous directors work.
175
176 dhb:
177 this may be moot:
178
179 If the above prooves to be too much, we might consider to only
180 have a single director at a time, and simply let the user select
181 which director he wants to connect to (one at a time, but
182 dynamically).  In the end, this may be the best thing to do, so
183 any user who wishes to connect to multiple directors would run
184 two instances of bat.  I am a bit unsure now, but the above list
185 of things to do is much bigger than I thought it was going to be.