]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/qt-console/TODO
16d57c796e1e21c85b3f30bdb1e438b8fe52058a
[bacula/bacula] / bacula / src / qt-console / TODO
1 dhb
2 ====================================================
3 Add context sensitive options for most commands
4 see COMMANDS file
5
6 ========LOW priority items:
7 Use settings object to size the restore window.  Similar to the saving of the
8 state of the main window.
9
10 Human readable in joblist for purged, joblevel and job type.
11
12 Possibly a stack of past screens so that when you open a window from another,
13 closing would bring the previous one back.
14
15 Is there a way to query the director/database for whether a storage is currently
16 mounted so I am not presenting both mount and unmount to the user??
17
18    Yes, but it requires being able to directly connect to the SD (at least
19    for the moment).
20   
21
22 Is there a way to identify a slot as having a cleaning tape???
23 (Kern says more work needs to be done in bacula with autochangers)
24   
25     Yes, there is a cleaning prefix for Volume labels defined in 
26     the DIR (not currently available to bat). Typically it is CLNxxx
27     and by looking at the database, you can see these cleaning
28     volumes.
29
30 See if there is a solution to images fun with designer other than:
31 %s/<iconset>[\.\/]*:images/<iconset>images/g
32 %s/<iconset>images/<iconset>..\/images/g
33
34     Images that are in the binary are referenced with :/images/... 
35     This is a Qt convention.  If the image is in a file, it
36     can be referenced directly, but for the most part, I prefer
37     images in the binary (not lost, not accidently deleted, no 
38     installation problems, ...
39
40 Think about good ways to clean up the Console creation part of the
41 loop creating pages.
42
43     I don't think it is bad as it is.   There is, however, a construct
44     called a Factory that could more or less automate this in one
45     big for loop.
46
47 ========================================================
48 This release or next:
49
50 A window showing a list of schedule resources. 
51
52 A list of message resources??
53
54 Kern discussed windows showing statistics like web based interfaces.
55
56     I think the above is very important.
57
58 ========================================================
59 Future Releases :
60
61 The ablility to modify configuration files to create jobs, schedules, filesets
62 and any other director resources.
63
64 The ablility to modify configuration files to create storage resources.
65
66 Add a status dir graphical interface.  It would auto update every ?? seconds
67 and have a list of scheduled jobs, and in the que to run jobs that could be
68 cancelled graphically.
69
70 Add a status client window.  Keep updating showing what file is being
71 processed.
72
73 bRestore add code to get working.
74
75 May be in brestore, find a file by name, find a directory by name
76
77 ===========================================================
78 NOT SURE
79 ===========================================================
80
81 I'm not sure about this one??  Things seem to work and I did not do a
82 thing to make it happen:  the "dir" is a member of Console
83
84 - We also must somehow make the low level I/O routines know which
85 director/console to use.  Currently they always use the single
86 global one defined in the mainWin class (if I remember right).
87
88    I'm working on this (kes).  It is not so simple, but moving forward
89    gradually ...
90
91 Create edit pool interface.
92    This is done from config file
93
94 ============================================================
95 DONE:
96 ============================================================
97 A window showing a list of jobs and defaults.  Defaults can be gotten in manner
98 similar to what the first restore window does.
99
100 status dir on page select director item
101 All items with jobid= that I thought could work from joblist are done.
102 As well as many more
103 update slots scan
104 Preferences for the messages timer.
105
106 Get the 5 second bring to bottom of console to stop
107
108 joblist cancel a running job.
109
110 Fixes to final restore widgets.
111
112 Set default for replace in run restore job to "always"??????
113
114 Option in joblist like with restore from jobid but restore populating timestamp
115 of the selected job.
116
117 User preferences.  With log to stdout options.
118 Have settings for defaults of limits on joblist
119
120 Resolve issue of connection during restore selection.  Could go with preempt of
121 connections.  Temporary resolution is in.  (Kern is to work on)
122
123 Further testing of restore with .mod
124    Tested a few things, not all.
125
126 Add fileset to joblist.
127
128 Test left pane of restore with 2 windows drives in one backup job.
129    Yup, id didn't work, now it does.
130
131 Purging not working from console or from context sensitive.
132    This was a confusion with the restore command.  Now resolved.
133
134 Can produce a segfault by attempting to restore from a restore job.  In
135 pre-restore, prevent a job in the list from being a restore job.
136
137 Need to figure out the functionality and inteligence that the last restore
138 window should have and give it to it.  Right now it shows drop downs with no
139 options.
140
141 Allow for selecting multiple jobs to restore from in joblist.  Right click
142 restore from job works, but not with multiple selected jobs.
143
144 See if it would be possible to have user provided console text show up in a
145 color
146
147 Get status codes in dropdown for joblist select.
148
149 Create class to display messages from a specific job.  Want the ability to
150 create an instance of that class from joblist.
151
152 Color code termination code in joblist.  I also want a table to convert
153 termination code into human readable text.
154
155 show purged flag in joblist.  Don't have purge option show if already purged.
156
157 move behavior of:
158   MainWin::setContextMenuDockText
159   MainWin::setTreeWidgetItemDockColor
160 to the pages class
161
162 preempt all connections to console with 
163 if (!is_connectedGui())
164 or some other mechanism.  May find more as users start finding them.
165
166 Create documentation for any other developers interested in creating
167 new classes to add more pages.  Explain how to use the pages class
168 and about not populating until the tree widget is clicked etc...
169
170 Add numerous are you sure dialog boxes.  Like are you sure you want to
171 delete/purge that volume.  Show a little of the documentation about what
172 the consequences of delete or purging are.
173
174 A Tree widget context sensitive menu option and class to jump from known job
175 to surf the filestructure on the job.
176   This was future, but it is kind of done with restore from jobid
177
178 Get rid of "Warning: name layoutWidget is already used" when make uic's restore.ui
179
180 Create the ability to start a restore from joblist.  Right click, select
181 "restore from Jobid=xx" create an instance of restore defaulting in the jobid
182 or a list of selected jobs.
183
184 Update README  describe bat.conf.example to bat.conf
185
186 Test restore and get anything not working, working.
187 Add inteligence to prerestore.
188
189 Color code Media Red->Error Append->green Full/Used->Yellow
190
191 Get restore into stack.
192   Should the jobs dialog be turned into a page as well??
193 Possilbe: Turn run and label into docked pages. (remove button bar buttons??)
194
195 Where and bootstrap are confused in runjobs of restore.
196    This was just the labels.
197
198 Create list of what does not work.
199 From what I can tell, just the restore window on the left.
200
201 Add option to LIMIT the number of jobs shown in all jobs page for users with
202 multiple hundreds to thousands of jobs.
203
204 Play with includes to Make these compiles shorter.
205   moved includes of of includes and into files only console.h should be long
206
207 relabel storage=DDS3 oldvolume=ddsvol003 volume=dds3vol003 slot=3 pool=dds3_hope
208 in label slot spinner, limit the upper to the value of slots for that storage.
209
210 Fix bug in myth box not working with .sql query="" command.
211 This was a fix in mysql
212
213 Figure out how to get tables like Joblist to do the equivalent of double clicking
214 on the separating lines between each of the headings.
215 Tried the hard way first.  Oops.
216
217 If the console command line entry docked widget gets the focus, make 
218 m_currentConsole the top widget by setting the treewidgetitem selected.
219 Did this in MainWin::input_line almost better to let the person see
220 whatever they want until they hit enter.
221
222 Set Window titles to reflect what director it is.
223
224 Must:: get page selector to follow undocked windows.  Otherwise
225 current console won't be current.
226
227 Re-add class for storage, I accidentally reverted because I left
228 it on my laptop.  This is why I like committing often.
229
230 Add class for FileSets
231
232 Another idea for what you have implemented:
233 - I think that the dynamic pages that you create on the fly
234 should be nested under the item that creates them more like a
235 directory tree.
236
237 For example: Jobs on Volume xxx, probably should be shown under
238 "All Jobs" (or Media if that is what created it) and "Jobs of
239 Client Rufus" probably should be shown under "Clients".  I base
240 this on looking at the Select page list after I have brought up 3
241 or 4 dynamic pages.  Once there are a good number, I get a bit
242 confused where they came from.  This would also permit selecting
243 multipe Volumes then displaying multiple pages, one for each
244 Volume selected.  If they are nested, then that nested level can
245 be expanded or collapsed, which would be pretty cool at keeping
246 information, but getting it out of the way, sort of like what
247 happens for a directory tree.
248
249 dhb: ref above
250 My original concept was to put these in a tabbed widget.  Your Idea may
251 make for a cleaner user experience.  I like it.  It could save the
252 effort of getting a tabbed widget to work.
253
254
255 - I think we need to make the current Director more explicit, by
256 perhaps highlighting it in the page selector when it is current
257 and unhighlighting it when it is not (we could use color as we do
258 for the console, though some color blind people may have
259 problems.
260
261 - When any director is clicked, we need to set it as the current
262 director and set the current console as well.
263
264 Remove DoubleClicking, From pages class not needed any more.
265
266 Broken with multiple directors:
267 - If you click on the second director, it will probably open, but
268 none of the pages that are defined below it will be able to talk
269 to it.  They will most likely talk to the first director.
270
271 - When any console is clicked we need to set it as the current
272 console (m_console) and also set its director as the current
273 director (m_topItem).  These are in the mainwin class.
274
275 - When any page is selected, we must set both the current
276 director (m_topItem) and current console (m_console) that this
277 page is connected to.
278
279 dhb:
280 m_topItem has been changed to Console::directorTreeItem()
281 m_currentConsole->directorTreeItem(); returns disired treeWidgetItem
282
283 - We also need a concept of a "local" director/console for each
284 page, so the page knows who it is talking to -- this doesn't
285 currently exist, so I think we must pass the director and console
286 to each page widget constructor.
287  
288 dhb:
289 m_currentConsole is saved in each page subclass's m_console.  This value
290 is set by all but the console class calling Pages::pgInitialie() in it's
291 constructor
292
293 In short, there is a lot of work to be done to make multiple
294 simultaneous directors work.
295
296 dhb:
297 this may be moot:
298
299 If the above prooves to be too much, we might consider to only
300 have a single director at a time, and simply let the user select
301 which director he wants to connect to (one at a time, but
302 dynamically).  In the end, this may be the best thing to do, so
303 any user who wishes to connect to multiple directors would run
304 two instances of bat.  I am a bit unsure now, but the above list
305 of things to do is much bigger than I thought it was going to be.