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