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