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