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