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