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