1 | Fri May 1 15:10:50 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
2 | * Fix broken link from Provisioning to Reliability page. |
---|
3 | |
---|
4 | Sun May 3 16:25:33 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
5 | * Link all Tahoe web pages to the /tahoe_css stylesheet which already exists. |
---|
6 | |
---|
7 | Sun May 3 16:28:02 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
8 | * Modify markup of Tahoe web pages to be more amenable to styling; some minor changes of wording. |
---|
9 | |
---|
10 | Sun May 3 16:31:42 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
11 | * Add CSS styles to spiff up the Tahoe WUI's appearance, particularly the welcome page and directories. |
---|
12 | |
---|
13 | Sun May 3 16:33:25 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
14 | * Tweak wording in directory page: not-read-only is "modifiable", mention creating a directory _in this directory_. |
---|
15 | |
---|
16 | Sun May 3 16:34:42 EDT 2009 Kevin Reid <kpreid@mac.com> |
---|
17 | * Comment on duplication of code/markup found during styling project. |
---|
18 | |
---|
19 | New patches: |
---|
20 | |
---|
21 | [Fix broken link from Provisioning to Reliability page. |
---|
22 | Kevin Reid <kpreid@mac.com>**20090501191050 |
---|
23 | Ignore-this: 56dc1a5e659b70cc02dc4df7b5d518cd |
---|
24 | ] hunk ./src/allmydata/provisioning.py 714 |
---|
25 | from allmydata import reliability |
---|
26 | # we import this just to test to see if the page is available |
---|
27 | _hush_pyflakes = reliability |
---|
28 | - f = [T.div[T.a(href="reliability.html")["Reliability Math"]], f] |
---|
29 | + f = [T.div[T.a(href="../reliability")["Reliability Math"]], f] |
---|
30 | except ImportError: |
---|
31 | pass |
---|
32 | |
---|
33 | [Link all Tahoe web pages to the /tahoe_css stylesheet which already exists. |
---|
34 | Kevin Reid <kpreid@mac.com>**20090503202533 |
---|
35 | Ignore-this: 2ea8d14d3168b9502cf39d5ea3f2f2a8 |
---|
36 | ] { |
---|
37 | hunk ./src/allmydata/web/check-and-repair-results.xhtml 4 |
---|
38 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
39 | <head> |
---|
40 | <title>AllMyData - Tahoe - Check Results</title> |
---|
41 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
42 | - rel="stylesheet" type="text/css"/> --> |
---|
43 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
44 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
45 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
46 | </head> |
---|
47 | hunk ./src/allmydata/web/check-results.xhtml 4 |
---|
48 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
49 | <head> |
---|
50 | <title>AllMyData - Tahoe - Check Results</title> |
---|
51 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
52 | - rel="stylesheet" type="text/css"/> --> |
---|
53 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
54 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
55 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
56 | </head> |
---|
57 | hunk ./src/allmydata/web/deep-check-and-repair-results.xhtml 4 |
---|
58 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
59 | <head> |
---|
60 | <title>AllMyData - Tahoe - Deep Check Results</title> |
---|
61 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
62 | - rel="stylesheet" type="text/css"/> --> |
---|
63 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
64 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
65 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
66 | <meta n:render="refresh" /> |
---|
67 | hunk ./src/allmydata/web/deep-check-results.xhtml 4 |
---|
68 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
69 | <head> |
---|
70 | <title>AllMyData - Tahoe - Deep Check Results</title> |
---|
71 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
72 | - rel="stylesheet" type="text/css"/> --> |
---|
73 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
74 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
75 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
76 | <meta n:render="refresh" /> |
---|
77 | hunk ./src/allmydata/web/directory.xhtml 1 |
---|
78 | -<html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
79 | - <head> |
---|
80 | - <title n:render="title"></title> |
---|
81 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
82 | - rel="stylesheet" type="text/css"/> --> |
---|
83 | - <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
84 | - <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
85 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
86 | - </head> |
---|
87 | - <body> |
---|
88 | +<html xmlns:n="http://nevow.com/ns/nevow/0.1"><head> |
---|
89 | + <title n:render="title"></title> |
---|
90 | + <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
91 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
92 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
93 | +</head><body class="tahoe-directory-page"> |
---|
94 | |
---|
95 | <h2 n:render="header"></h2> |
---|
96 | |
---|
97 | hunk ./src/allmydata/web/download-status.xhtml 4 |
---|
98 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
99 | <head> |
---|
100 | <title>AllMyData - Tahoe - File Download Status</title> |
---|
101 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
102 | - rel="stylesheet" type="text/css"/> --> |
---|
103 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
104 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
105 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
106 | </head> |
---|
107 | hunk ./src/allmydata/web/helper.xhtml 4 |
---|
108 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
109 | <head> |
---|
110 | <title>Helper Status - AllMyData Tahoe</title> |
---|
111 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
112 | - rel="stylesheet" type="text/css"/> --> |
---|
113 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
114 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
115 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
116 | </head> |
---|
117 | hunk ./src/allmydata/web/info.xhtml 1 |
---|
118 | -<html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
119 | - <head> |
---|
120 | - <title n:render="title"></title> |
---|
121 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
122 | - rel="stylesheet" type="text/css"/> --> |
---|
123 | - <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
124 | - <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
125 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
126 | - </head> |
---|
127 | - <body> |
---|
128 | +<html xmlns:n="http://nevow.com/ns/nevow/0.1"><head> |
---|
129 | + <title n:render="title"></title> |
---|
130 | + <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
131 | + rel="stylesheet" type="text/css"/> --> |
---|
132 | + <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
133 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
134 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
135 | |
---|
136 | <h2 n:render="header"></h2> |
---|
137 | |
---|
138 | hunk ./src/allmydata/web/literal-check-results.xhtml 4 |
---|
139 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
140 | <head> |
---|
141 | <title>AllMyData - Tahoe - Check Results</title> |
---|
142 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
143 | - rel="stylesheet" type="text/css"/> --> |
---|
144 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
145 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
146 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
147 | </head> |
---|
148 | hunk ./src/allmydata/web/manifest.xhtml 4 |
---|
149 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
150 | <head> |
---|
151 | <title n:render="title"></title> |
---|
152 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
153 | - rel="stylesheet" type="text/css"/> --> |
---|
154 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
155 | <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
156 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
157 | <meta n:render="refresh" /> |
---|
158 | hunk ./src/allmydata/web/map-update-status.xhtml 4 |
---|
159 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
160 | <head> |
---|
161 | <title>AllMyData - Tahoe - Mutable File Servermap Update Status</title> |
---|
162 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
163 | - rel="stylesheet" type="text/css"/> --> |
---|
164 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
165 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
166 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
167 | </head> |
---|
168 | hunk ./src/allmydata/web/provisioning.xhtml 4 |
---|
169 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
170 | <head> |
---|
171 | <title>AllMyData - Tahoe - Provisioning Tool</title> |
---|
172 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
173 | - rel="stylesheet" type="text/css"/> --> |
---|
174 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
175 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
176 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
177 | </head> |
---|
178 | hunk ./src/allmydata/web/publish-status.xhtml 4 |
---|
179 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
180 | <head> |
---|
181 | <title>AllMyData - Tahoe - Mutable File Publish Status</title> |
---|
182 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
183 | - rel="stylesheet" type="text/css"/> --> |
---|
184 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
185 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
186 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
187 | </head> |
---|
188 | hunk ./src/allmydata/web/reliability.xhtml 4 |
---|
189 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
190 | <head> |
---|
191 | <title>AllMyData - Tahoe - Reliability Tool</title> |
---|
192 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
193 | - rel="stylesheet" type="text/css"/> --> |
---|
194 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
195 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
196 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
197 | </head> |
---|
198 | hunk ./src/allmydata/web/rename-form.xhtml 4 |
---|
199 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
200 | <head> |
---|
201 | <title n:render="title"></title> |
---|
202 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
203 | - rel="stylesheet" type="text/css"/> --> |
---|
204 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
205 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
206 | <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
207 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
208 | hunk ./src/allmydata/web/retrieve-status.xhtml 4 |
---|
209 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
210 | <head> |
---|
211 | <title>AllMyData - Tahoe - Mutable File Retrieve Status</title> |
---|
212 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
213 | - rel="stylesheet" type="text/css"/> --> |
---|
214 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
215 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
216 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
217 | </head> |
---|
218 | hunk ./src/allmydata/web/statistics.xhtml 4 |
---|
219 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
220 | <head> |
---|
221 | <title>Stats - AllMyData Tahoe</title> |
---|
222 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
223 | - rel="stylesheet" type="text/css"/> --> |
---|
224 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
225 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
226 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
227 | </head> |
---|
228 | hunk ./src/allmydata/web/status.xhtml 4 |
---|
229 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
230 | <head> |
---|
231 | <title>AllMyData - Tahoe - Current Uploads/Downloads</title> |
---|
232 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
233 | - rel="stylesheet" type="text/css"/> --> |
---|
234 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
235 | hunk ./src/allmydata/web/status.xhtml 5 |
---|
236 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
237 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
238 | </head> |
---|
239 | <body> |
---|
240 | hunk ./src/allmydata/web/upload-results.xhtml 4 |
---|
241 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
242 | <head> |
---|
243 | <title>AllMyData - Tahoe - File Uploaded</title> |
---|
244 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
245 | - rel="stylesheet" type="text/css"/> --> |
---|
246 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
247 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
248 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
249 | </head> |
---|
250 | hunk ./src/allmydata/web/upload-status.xhtml 4 |
---|
251 | <html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
252 | <head> |
---|
253 | <title>AllMyData - Tahoe - File Upload Status</title> |
---|
254 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
255 | - rel="stylesheet" type="text/css"/> --> |
---|
256 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
257 | <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
258 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
259 | </head> |
---|
260 | hunk ./src/allmydata/web/welcome.xhtml 1 |
---|
261 | -<html xmlns:n="http://nevow.com/ns/nevow/0.1"> |
---|
262 | - <head> |
---|
263 | - <title>AllMyData - Tahoe</title> |
---|
264 | - <!-- <link href="http://www.allmydata.com/common/css/styles.css" |
---|
265 | - rel="stylesheet" type="text/css"/> --> |
---|
266 | - <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
267 | - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
268 | - </head> |
---|
269 | - <body> |
---|
270 | +<html xmlns:n="http://nevow.com/ns/nevow/0.1"><head> |
---|
271 | + <title>AllMyData - Tahoe - Welcome</title> |
---|
272 | + <link href="/webform_css" rel="stylesheet" type="text/css"/> |
---|
273 | + <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
274 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
275 | +</head><body> |
---|
276 | |
---|
277 | <h1>Welcome To AllMyData "Tahoe"!</h1> |
---|
278 | |
---|
279 | } |
---|
280 | [Modify markup of Tahoe web pages to be more amenable to styling; some minor changes of wording. |
---|
281 | Kevin Reid <kpreid@mac.com>**20090503202802 |
---|
282 | Ignore-this: b7ab1b3c38553fd1f7cd9b351f3deda6 |
---|
283 | ] { |
---|
284 | hunk ./src/allmydata/web/check_results.py 100 |
---|
285 | for (serverid, si, shnum) in data["list-corrupt-shares"]: |
---|
286 | nickname = c.get_nickname_for_peerid(serverid) |
---|
287 | badsharemap.append(T.tr[T.td["sh#%d" % shnum], |
---|
288 | - T.td[T.tt[base32.b2a(serverid)], |
---|
289 | - " (", nickname, ")"], |
---|
290 | + T.td[T.div(class_="nickname")[nickname], |
---|
291 | + T.div(class_="nodeid")[T.tt[base32.b2a(serverid)]]], |
---|
292 | ]) |
---|
293 | hunk ./src/allmydata/web/check_results.py 103 |
---|
294 | - add("Corrupt shares", T.table(border="1")[badsharemap]) |
---|
295 | + add("Corrupt shares", T.table()[ |
---|
296 | + T.tr[T.th["Share ID"], |
---|
297 | + T.th(class_="nickname-and-peerid")[T.div["Nickname"], T.div(class_="nodeid")["Node ID"]]], |
---|
298 | + badsharemap]) |
---|
299 | else: |
---|
300 | add("Corrupt shares", "none") |
---|
301 | |
---|
302 | hunk ./src/allmydata/web/check_results.py 126 |
---|
303 | shareid_s = shareid |
---|
304 | nickname = c.get_nickname_for_peerid(serverid) |
---|
305 | sharemap.append(T.tr[T.td[shareid_s], |
---|
306 | - T.td[T.tt[base32.b2a(serverid)], |
---|
307 | - " (", nickname, ")"], |
---|
308 | + T.td[T.div(class_="nickname")[nickname], |
---|
309 | + T.div(class_="nodeid")[T.tt[base32.b2a(serverid)]]] |
---|
310 | ]) |
---|
311 | add("Good Shares (sorted in share order)", |
---|
312 | hunk ./src/allmydata/web/check_results.py 130 |
---|
313 | - T.table(border="1")[sharemap]) |
---|
314 | + T.table()[T.tr[T.th["Share ID"], T.th(class_="nickname-and-peerid")[T.div["Nickname"], T.div(class_="nodeid")["Node ID"]]], |
---|
315 | + sharemap]) |
---|
316 | |
---|
317 | |
---|
318 | add("Recoverable Versions", data["count-recoverable-versions"]) |
---|
319 | hunk ./src/allmydata/web/check_results.py 150 |
---|
320 | shareids = servers.get(serverid, []) |
---|
321 | shareids.reverse() |
---|
322 | shareids_s = [ T.tt[shareid, " "] for shareid in sorted(shareids) ] |
---|
323 | - servermap.append(T.tr[T.td[T.tt[base32.b2a(serverid)], |
---|
324 | - " (", nickname, ")"], |
---|
325 | - T.td[shareids_s] ]) |
---|
326 | + servermap.append(T.tr[T.td[T.div(class_="nickname")[nickname], |
---|
327 | + T.div(class_="nodeid")[T.tt[base32.b2a(serverid)]]], |
---|
328 | + T.td[shareids_s], |
---|
329 | + ]) |
---|
330 | num_shares_left -= len(shareids) |
---|
331 | if not num_shares_left: |
---|
332 | break |
---|
333 | hunk ./src/allmydata/web/check_results.py 158 |
---|
334 | add("Share Balancing (servers in permuted order)", |
---|
335 | - T.table(border="1")[servermap]) |
---|
336 | + T.table()[T.tr[T.th(class_="nickname-and-peerid")[T.div["Nickname"], T.div(class_="nodeid")["Node ID"]], T.th["Share IDs"]], |
---|
337 | + servermap]) |
---|
338 | |
---|
339 | return T.ul[r] |
---|
340 | |
---|
341 | hunk ./src/allmydata/web/deep-check-and-repair-results.xhtml 72 |
---|
342 | <div n:render="return" /> |
---|
343 | |
---|
344 | <div> |
---|
345 | -<table n:render="sequence" n:data="all_objects" border="1"> |
---|
346 | +<table n:render="sequence" n:data="all_objects"> |
---|
347 | <tr n:pattern="header"> |
---|
348 | <td>Relative Path</td> |
---|
349 | <td>Healthy Pre-Repair</td> |
---|
350 | hunk ./src/allmydata/web/deep-check-results.xhtml 46 |
---|
351 | <div n:render="corrupt_shares_p"> |
---|
352 | <h2>Corrupt Shares</h2> |
---|
353 | <p>If repair fails, these shares need to be manually inspected and removed.</p> |
---|
354 | -<table n:render="sequence" n:data="corrupt_shares" border="1"> |
---|
355 | +<table n:render="sequence" n:data="corrupt_shares"> |
---|
356 | <tr n:pattern="header"> |
---|
357 | <td>Server</td> |
---|
358 | <td>Server Nickname</td> |
---|
359 | hunk ./src/allmydata/web/deep-check-results.xhtml 66 |
---|
360 | |
---|
361 | <div> |
---|
362 | <h2>All Results</h2> |
---|
363 | -<table n:render="sequence" n:data="all_objects" border="1"> |
---|
364 | +<table n:render="sequence" n:data="all_objects"> |
---|
365 | <tr n:pattern="header"> |
---|
366 | <td>Relative Path</td> |
---|
367 | <td>Healthy</td> |
---|
368 | hunk ./src/allmydata/web/directory.py 532 |
---|
369 | |
---|
370 | def render_header(self, ctx, data): |
---|
371 | si_s = abbreviated_dirnode(self.node) |
---|
372 | - header = ["Directory SI=%s" % si_s] |
---|
373 | + header = ["Directory SI=", T.span(class_="data-chars")[si_s]] |
---|
374 | if self.node.is_readonly(): |
---|
375 | header.append(" (readonly)") |
---|
376 | return ctx.tag[header] |
---|
377 | hunk ./src/allmydata/web/directory.xhtml 8 |
---|
378 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
379 | </head><body class="tahoe-directory-page"> |
---|
380 | |
---|
381 | -<h2 n:render="header"></h2> |
---|
382 | +<h1 n:render="header"></h1> |
---|
383 | |
---|
384 | hunk ./src/allmydata/web/directory.xhtml 10 |
---|
385 | -<div><a href=".">Refresh this view</a></div> |
---|
386 | -<div n:render="welcome" /> |
---|
387 | +<div class="toolbar"> |
---|
388 | + <div class="toolbar-item" n:render="welcome" /> |
---|
389 | + <div class="toolbar-item"><a href=".">Refresh</a></div> |
---|
390 | |
---|
391 | hunk ./src/allmydata/web/directory.xhtml 14 |
---|
392 | -<div><a href="?t=info">More info on this directory</a></div> |
---|
393 | -<div n:render="show_readonly" /> |
---|
394 | + <div class="toolbar-item"><a href="?t=info">More info on this directory</a></div> |
---|
395 | + <div class="toolbar-item" n:render="show_readonly" /> |
---|
396 | +</div> |
---|
397 | |
---|
398 | <div n:render="try_children"> |
---|
399 | hunk ./src/allmydata/web/directory.xhtml 19 |
---|
400 | -<table n:render="sequence" n:data="children" border="1"> |
---|
401 | - <tr n:pattern="header"> |
---|
402 | - <td>Filename</td> |
---|
403 | - <td>Type</td> |
---|
404 | - <td>Size</td> |
---|
405 | - <td>Times</td> |
---|
406 | - <td></td> |
---|
407 | - <td></td> |
---|
408 | - <td></td> |
---|
409 | - </tr> |
---|
410 | - <tr n:pattern="item" n:render="row"> |
---|
411 | - <td><n:slot name="filename"/></td> |
---|
412 | - <td><n:slot name="type"/></td> |
---|
413 | - <td><n:slot name="size"/></td> |
---|
414 | - <td><n:slot name="times"/></td> |
---|
415 | - <td><n:slot name="delete"/></td> |
---|
416 | - <td><n:slot name="rename"/></td> |
---|
417 | - <td><n:slot name="info"/></td> |
---|
418 | - </tr> |
---|
419 | + <table class="tahoe-directory" n:render="sequence" n:data="children"> |
---|
420 | + <tr n:pattern="header"> |
---|
421 | + <th>Type</th> |
---|
422 | + <th>Filename</th> |
---|
423 | + <th>Size</th> |
---|
424 | + <th>Times</th> |
---|
425 | + <th></th> |
---|
426 | + <th></th> |
---|
427 | + <th></th> |
---|
428 | + </tr> |
---|
429 | + <tr n:pattern="item" n:render="row"> |
---|
430 | + <td><n:slot name="type"/></td> |
---|
431 | + <td><n:slot name="filename"/></td> |
---|
432 | + <td><n:slot name="size"/></td> |
---|
433 | + <td><n:slot name="times"/></td> |
---|
434 | + <td><n:slot name="delete"/></td> |
---|
435 | + <td><n:slot name="rename"/></td> |
---|
436 | + <td><n:slot name="info"/></td> |
---|
437 | + </tr> |
---|
438 | |
---|
439 | hunk ./src/allmydata/web/directory.xhtml 39 |
---|
440 | - <tr n:pattern="empty"><td>directory is empty</td></tr> |
---|
441 | + <tr n:pattern="empty"><td colspan="9" class="empty-marker">This directory is empty.</td></tr> |
---|
442 | |
---|
443 | hunk ./src/allmydata/web/directory.xhtml 41 |
---|
444 | -</table> |
---|
445 | + </table> |
---|
446 | </div> |
---|
447 | |
---|
448 | hunk ./src/allmydata/web/directory.xhtml 44 |
---|
449 | +<div class="tahoe-directory-footer"> |
---|
450 | + <div n:render="forms"/> |
---|
451 | |
---|
452 | hunk ./src/allmydata/web/directory.xhtml 47 |
---|
453 | -<div n:render="forms"/> |
---|
454 | - |
---|
455 | -<div class="results" n:render="results"/> |
---|
456 | + <div class="results" n:render="results"/> |
---|
457 | +</div> |
---|
458 | |
---|
459 | hunk ./src/allmydata/web/directory.xhtml 50 |
---|
460 | - </body> |
---|
461 | -</html> |
---|
462 | +</body></html> |
---|
463 | hunk ./src/allmydata/web/info.xhtml 9 |
---|
464 | <link href="/tahoe_css" rel="stylesheet" type="text/css"/> |
---|
465 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
466 | |
---|
467 | -<h2 n:render="header"></h2> |
---|
468 | +</head><body> |
---|
469 | + |
---|
470 | +<h1 n:render="header"></h1> |
---|
471 | |
---|
472 | <ul> |
---|
473 | <li>Object Type: <span n:render="type" /></li> |
---|
474 | hunk ./src/allmydata/web/info.xhtml 17 |
---|
475 | <li>Storage Index: <tt n:render="si" /></li> |
---|
476 | <li>Object Size: <span n:render="size" /></li> |
---|
477 | - <li>Access Caps (URIs): |
---|
478 | - <table border="1"> |
---|
479 | + <li>Access Caps (Tahoe-URIs): |
---|
480 | + <table class="table-headings-left"> |
---|
481 | <span n:render="is_directory"> |
---|
482 | <tr> |
---|
483 | hunk ./src/allmydata/web/info.xhtml 21 |
---|
484 | - <td>Directory writecap</td> |
---|
485 | - <td><tt n:render="directory_writecap" /></td> |
---|
486 | + <th>Directory writecap</th> |
---|
487 | + <td><tt class="data-chars" n:render="directory_writecap" /></td> |
---|
488 | </tr> |
---|
489 | <tr> |
---|
490 | hunk ./src/allmydata/web/info.xhtml 25 |
---|
491 | - <td>Directory readcap</td> |
---|
492 | - <td><tt n:render="directory_readcap" /></td> |
---|
493 | + <th>Directory readcap</th> |
---|
494 | + <td><tt class="data-chars" n:render="directory_readcap" /></td> |
---|
495 | </tr> |
---|
496 | <tr> |
---|
497 | hunk ./src/allmydata/web/info.xhtml 29 |
---|
498 | - <td>Directory verifycap</td> |
---|
499 | - <td><tt n:render="directory_verifycap" /></td> |
---|
500 | + <th>Directory verifycap</th> |
---|
501 | + <td><tt class="data-chars" n:render="directory_verifycap" /></td> |
---|
502 | </tr> |
---|
503 | </span> |
---|
504 | |
---|
505 | hunk ./src/allmydata/web/info.xhtml 35 |
---|
506 | <tr> |
---|
507 | - <td>File writecap</td> |
---|
508 | - <td><tt n:render="file_writecap" /></td> |
---|
509 | + <th>File writecap</th> |
---|
510 | + <td><tt class="data-chars" n:render="file_writecap" /></td> |
---|
511 | </tr> |
---|
512 | <tr> |
---|
513 | hunk ./src/allmydata/web/info.xhtml 39 |
---|
514 | - <td>File readcap</td> |
---|
515 | - <td><tt n:render="file_readcap" /></td> |
---|
516 | + <th>File readcap</th> |
---|
517 | + <td><tt class="data-chars" n:render="file_readcap" /></td> |
---|
518 | </tr> |
---|
519 | <tr> |
---|
520 | hunk ./src/allmydata/web/info.xhtml 43 |
---|
521 | - <td>File verifycap</td> |
---|
522 | - <td><tt n:render="file_verifycap" /></td> |
---|
523 | + <th>File verifycap</th> |
---|
524 | + <td><tt class="data-chars" n:render="file_verifycap" /></td> |
---|
525 | </tr> |
---|
526 | </table></li> |
---|
527 | <li><a href="?t=json">JSON</a></li> |
---|
528 | hunk ./src/allmydata/web/info.xhtml 69 |
---|
529 | <div n:render="manifest_form" /> |
---|
530 | </div> |
---|
531 | |
---|
532 | - |
---|
533 | - </body> |
---|
534 | -</html> |
---|
535 | +</body></html> |
---|
536 | hunk ./src/allmydata/web/introducer.xhtml 24 |
---|
537 | <h2>Service Announcements</h2> |
---|
538 | |
---|
539 | <div> |
---|
540 | -<table n:render="sequence" n:data="services" border="1"> |
---|
541 | +<table n:render="sequence" n:data="services"> |
---|
542 | <tr n:pattern="header"> |
---|
543 | <td>PeerID / Nickname</td> |
---|
544 | <td>Advertised IPs</td> |
---|
545 | hunk ./src/allmydata/web/introducer.xhtml 46 |
---|
546 | <h2>Subscribed Clients</h2> |
---|
547 | |
---|
548 | <div> |
---|
549 | -<table n:render="sequence" n:data="subscribers" border="1"> |
---|
550 | +<table n:render="sequence" n:data="subscribers"> |
---|
551 | <tr n:pattern="header"> |
---|
552 | <td>PeerID / Nickname</td> |
---|
553 | <td>Advertised IPs</td> |
---|
554 | hunk ./src/allmydata/web/introweb.py 70 |
---|
555 | def data_version(self, ctx, data): |
---|
556 | return get_package_versions_string() |
---|
557 | def data_import_path(self, ctx, data): |
---|
558 | - return str(allmydata) |
---|
559 | + return str(allmydata).replace("/", "/ ") # XXX kludge for wrapping |
---|
560 | def data_my_nodeid(self, ctx, data): |
---|
561 | return idlib.nodeid_b2a(self.introducer_node.nodeid) |
---|
562 | |
---|
563 | hunk ./src/allmydata/web/manifest.xhtml 15 |
---|
564 | |
---|
565 | <h2 n:render="reload" /> |
---|
566 | |
---|
567 | -<table n:render="sequence" n:data="items" border="1"> |
---|
568 | +<table n:render="sequence" n:data="items"> |
---|
569 | <tr n:pattern="header"> |
---|
570 | <td>Path</td> |
---|
571 | <td>cap</td> |
---|
572 | hunk ./src/allmydata/web/reliability.xhtml 45 |
---|
573 | </ul> |
---|
574 | |
---|
575 | <div> |
---|
576 | -<table n:render="sequence" n:data="simulation_table" border="1"> |
---|
577 | +<table n:render="sequence" n:data="simulation_table"> |
---|
578 | <tr n:pattern="header"> |
---|
579 | <td>t</td> |
---|
580 | <td>P_repair</td> |
---|
581 | hunk ./src/allmydata/web/root.py 278 |
---|
582 | |
---|
583 | TIME_FORMAT = "%H:%M:%S %d-%b-%Y" |
---|
584 | ctx.fillSlots("connected", connected) |
---|
585 | + ctx.fillSlots("connected-bool", not not rsc.rref) |
---|
586 | ctx.fillSlots("since", time.strftime(TIME_FORMAT, time.localtime(since))) |
---|
587 | ctx.fillSlots("announced", time.strftime(TIME_FORMAT, |
---|
588 | time.localtime(rsc.announcement_time))) |
---|
589 | hunk ./src/allmydata/web/root.py 293 |
---|
590 | enctype="multipart/form-data")[ |
---|
591 | T.fieldset[ |
---|
592 | T.legend(class_="freeform-form-label")["Download a file"], |
---|
593 | - "URI to download: ", |
---|
594 | - T.input(type="text", name="uri"), " ", |
---|
595 | - "Filename to download as: ", |
---|
596 | - T.input(type="text", name="filename"), " ", |
---|
597 | + T.div["Tahoe-URI to download: ", |
---|
598 | + T.input(type="text", name="uri")], |
---|
599 | + T.div["Filename to download as: ", |
---|
600 | + T.input(type="text", name="filename")], |
---|
601 | T.input(type="submit", value="Download!"), |
---|
602 | ]] |
---|
603 | return T.div[form] |
---|
604 | hunk ./src/allmydata/web/root.py 308 |
---|
605 | enctype="multipart/form-data")[ |
---|
606 | T.fieldset[ |
---|
607 | T.legend(class_="freeform-form-label")["View a file or directory"], |
---|
608 | - "URI to view: ", |
---|
609 | + "Tahoe-URI to view: ", |
---|
610 | T.input(type="text", name="uri"), " ", |
---|
611 | T.input(type="submit", value="View!"), |
---|
612 | ]] |
---|
613 | hunk ./src/allmydata/web/root.py 320 |
---|
614 | enctype="multipart/form-data")[ |
---|
615 | T.fieldset[ |
---|
616 | T.legend(class_="freeform-form-label")["Upload a file"], |
---|
617 | - "Choose a file: ", |
---|
618 | - T.input(type="file", name="file", class_="freeform-input-file"), |
---|
619 | + T.div["Choose a file: ", |
---|
620 | + T.input(type="file", name="file", class_="freeform-input-file")], |
---|
621 | T.input(type="hidden", name="t", value="upload"), |
---|
622 | hunk ./src/allmydata/web/root.py 323 |
---|
623 | - " Mutable?:", T.input(type="checkbox", name="mutable"), |
---|
624 | - T.input(type="submit", value="Upload!"), |
---|
625 | + T.div[T.input(type="checkbox", name="mutable"), T.label(for_="mutable")["Create mutable file"], |
---|
626 | + " ", T.input(type="submit", value="Upload!")], |
---|
627 | ]] |
---|
628 | return T.div[form] |
---|
629 | |
---|
630 | hunk ./src/allmydata/web/root.py 333 |
---|
631 | form = T.form(action="uri", method="post", |
---|
632 | enctype="multipart/form-data")[ |
---|
633 | T.fieldset[ |
---|
634 | - T.legend(class_="freeform-form-label")["Create a directory."], |
---|
635 | + T.legend(class_="freeform-form-label")["Create a directory"], |
---|
636 | T.input(type="hidden", name="t", value="mkdir"), |
---|
637 | T.input(type="hidden", name="redirect_to_result", value="true"), |
---|
638 | hunk ./src/allmydata/web/root.py 336 |
---|
639 | - T.input(type="submit", value="create directory"), |
---|
640 | + T.input(type="submit", value="Create a directory"), |
---|
641 | ]] |
---|
642 | return T.div[form] |
---|
643 | |
---|
644 | hunk ./src/allmydata/web/status.xhtml 14 |
---|
645 | |
---|
646 | |
---|
647 | <h2>Active Operations:</h2> |
---|
648 | -<table n:render="sequence" n:data="active_operations" border="1"> |
---|
649 | +<table class="table-headings-top" n:render="sequence" n:data="active_operations"> |
---|
650 | <tr n:pattern="header"> |
---|
651 | hunk ./src/allmydata/web/status.xhtml 16 |
---|
652 | - <td>Type</td> |
---|
653 | - <td>Storage Index</td> |
---|
654 | - <td>Helper?</td> |
---|
655 | - <td>Total Size</td> |
---|
656 | - <td>Progress</td> |
---|
657 | - <td>Status</td> |
---|
658 | + <th>Type</th> |
---|
659 | + <th>Storage Index</th> |
---|
660 | + <th>Helper?</th> |
---|
661 | + <th>Total Size</th> |
---|
662 | + <th>Progress</th> |
---|
663 | + <th>Status</th> |
---|
664 | </tr> |
---|
665 | <tr n:pattern="item" n:render="row"> |
---|
666 | <td><n:slot name="type"/></td> |
---|
667 | hunk ./src/allmydata/web/status.xhtml 36 |
---|
668 | |
---|
669 | |
---|
670 | <h2>Recent Operations:</h2> |
---|
671 | -<table n:render="sequence" n:data="recent_operations" border="1"> |
---|
672 | +<table class="table-headings-top" n:render="sequence" n:data="recent_operations"> |
---|
673 | <tr n:pattern="header"> |
---|
674 | hunk ./src/allmydata/web/status.xhtml 38 |
---|
675 | - <td>Started</td> |
---|
676 | - <td>Type</td> |
---|
677 | - <td>Storage Index</td> |
---|
678 | - <td>Helper?</td> |
---|
679 | - <td>Total Size</td> |
---|
680 | - <td>Progress</td> |
---|
681 | - <td>Status</td> |
---|
682 | + <th>Started</th> |
---|
683 | + <th>Type</th> |
---|
684 | + <th>Storage Index</th> |
---|
685 | + <th>Helper?</th> |
---|
686 | + <th>Total Size</th> |
---|
687 | + <th>Progress</th> |
---|
688 | + <th>Status</th> |
---|
689 | </tr> |
---|
690 | <tr n:pattern="item" n:render="row"> |
---|
691 | <td><n:slot name="started"/></td> |
---|
692 | hunk ./src/allmydata/web/welcome.xhtml 10 |
---|
693 | |
---|
694 | <h1>Welcome To AllMyData "Tahoe"!</h1> |
---|
695 | |
---|
696 | -<h2>Status of this Client</h2> |
---|
697 | +<div class="section" id="this-client"> |
---|
698 | + <h2>This Client</h2> |
---|
699 | |
---|
700 | hunk ./src/allmydata/web/welcome.xhtml 13 |
---|
701 | -<div>My nodeid: <span n:render="string" n:data="my_nodeid" /></div> |
---|
702 | -<div>My nickname: <span n:render="string" n:data="my_nickname" /></div> |
---|
703 | -<div>My versions: <span n:render="string" n:data="version" /></div> |
---|
704 | -<div>Tahoe code imported from: <span n:render="string" n:data="import_path" /></div> |
---|
705 | -<div n:render="services">Services Running:</div> |
---|
706 | + <p> |
---|
707 | + <a href="status/">Recent Uploads and Downloads</a>, |
---|
708 | + <a href="statistics">Operational Statistics</a> |
---|
709 | + </p> |
---|
710 | |
---|
711 | hunk ./src/allmydata/web/welcome.xhtml 18 |
---|
712 | -<div> |
---|
713 | - <a href="status/">Recent Uploads and Downloads</a>, |
---|
714 | - <a href="statistics">Operational Statistics</a> |
---|
715 | -</div> |
---|
716 | - |
---|
717 | -<h2>The Controls</h2> |
---|
718 | + <table class="node-info table-headings-left"> |
---|
719 | + <tr><th>My nickname:</th> <td class="nickname mine" n:render="string" n:data="my_nickname" /></tr> |
---|
720 | + <tr><th>My nodeid:</th> <td class="nodeid mine data-chars" n:render="string" n:data="my_nodeid" /></tr> |
---|
721 | + <tr><th>My versions:</th> <td n:render="string" n:data="version" /></tr> |
---|
722 | + <tr><th>Tahoe code imported from:</th> <td n:render="string" n:data="import_path" /></tr> |
---|
723 | + <tr><th>Services running:</th> <td n:render="services" /></tr> |
---|
724 | + </table> |
---|
725 | + |
---|
726 | |
---|
727 | hunk ./src/allmydata/web/welcome.xhtml 27 |
---|
728 | -<div>There are also controls for each directory on that directory's page.</div> |
---|
729 | +</div> |
---|
730 | |
---|
731 | hunk ./src/allmydata/web/welcome.xhtml 29 |
---|
732 | -<div n:render="mkdir_form" /> |
---|
733 | -<div n:render="view_form" /> |
---|
734 | -<div n:render="upload_form" /> |
---|
735 | -<div n:render="download_form" /> |
---|
736 | +<div class="section" id="controls"> |
---|
737 | +<h2>Controls</h2> |
---|
738 | |
---|
739 | hunk ./src/allmydata/web/welcome.xhtml 32 |
---|
740 | + <p>There are also controls for each directory on that directory's page.</p> |
---|
741 | |
---|
742 | hunk ./src/allmydata/web/welcome.xhtml 34 |
---|
743 | -<h2>Status of the Storage Grid</h2> |
---|
744 | + <div n:render="mkdir_form" /> |
---|
745 | + <div n:render="view_form" /> |
---|
746 | + <div n:render="upload_form" /> |
---|
747 | + <div n:render="download_form" /> |
---|
748 | +</div> |
---|
749 | |
---|
750 | hunk ./src/allmydata/web/welcome.xhtml 40 |
---|
751 | -<div>Introducer: <span n:render="string" n:data="introducer_furl" /></div> |
---|
752 | -<div>Connected to introducer?: <span n:render="string" n:data="connected_to_introducer" /></div> |
---|
753 | +<div class="section" id="grid"> |
---|
754 | + <h2>Status of the Storage Grid</h2> |
---|
755 | |
---|
756 | hunk ./src/allmydata/web/welcome.xhtml 43 |
---|
757 | -<div>Helper: <span n:render="string" n:data="helper_furl" /></div> |
---|
758 | -<div>Connected to helper?: <span n:render="string" n:data="connected_to_helper" /></div> |
---|
759 | + <div> |
---|
760 | + <n:attr name="class">connected-<n:invisible n:render="string" n:data="connected_to_introducer" /></n:attr> |
---|
761 | + <div>Introducer: <span class="data-chars" n:render="string" n:data="introducer_furl" /></div> |
---|
762 | + <div>Connected to introducer?: <span n:render="string" n:data="connected_to_introducer" /></div> |
---|
763 | + </div> |
---|
764 | |
---|
765 | hunk ./src/allmydata/web/welcome.xhtml 49 |
---|
766 | -<br /> |
---|
767 | + <div> |
---|
768 | + <n:attr name="class">connected-<n:invisible n:render="string" n:data="connected_to_helper" /></n:attr> |
---|
769 | + <div>Helper: <span n:render="string" n:data="helper_furl" /></div> |
---|
770 | + <div>Connected to helper?: <span n:render="string" n:data="connected_to_helper" /></div> |
---|
771 | + </div> |
---|
772 | |
---|
773 | hunk ./src/allmydata/web/welcome.xhtml 55 |
---|
774 | -<div>Known Storage Servers: <span n:render="string" n:data="known_storage_servers" /></div> |
---|
775 | -<div>Connected Storage Servers: <span n:render="string" n:data="connected_storage_servers" /></div> |
---|
776 | + <p>Connected to <span n:render="string" n:data="connected_storage_servers" /> |
---|
777 | + of <span n:render="string" n:data="known_storage_servers" /> known storage servers:</p> |
---|
778 | |
---|
779 | hunk ./src/allmydata/web/welcome.xhtml 58 |
---|
780 | -<div> |
---|
781 | -<table n:render="sequence" n:data="services" border="1"> |
---|
782 | - <tr n:pattern="header"> |
---|
783 | - <td>PeerID</td> |
---|
784 | - <td>Nickname</td> |
---|
785 | - <td>Connected?</td> |
---|
786 | - <td>Since</td> |
---|
787 | - <td>Announced</td> |
---|
788 | - <td>Version</td> |
---|
789 | - <td>Service Name</td> |
---|
790 | - </tr> |
---|
791 | - <tr n:pattern="item" n:render="service_row"> |
---|
792 | - <td><tt><n:slot name="peerid"/></tt></td> |
---|
793 | - <td><b><n:slot name="nickname"/></b></td> |
---|
794 | - <td><tt><n:slot name="connected"/></tt></td> |
---|
795 | - <td><tt><n:slot name="since"/></tt></td> |
---|
796 | - <td><tt><n:slot name="announced"/></tt></td> |
---|
797 | - <td><tt><n:slot name="version"/></tt></td> |
---|
798 | - <td><tt><n:slot name="service_name"/></tt></td> |
---|
799 | - </tr> |
---|
800 | - <tr n:pattern="empty"><td>no peers!</td></tr> |
---|
801 | -</table> |
---|
802 | + <div> |
---|
803 | + <table class="services table-headings-top" n:render="sequence" n:data="services"> |
---|
804 | + <tr n:pattern="header"> |
---|
805 | + <th>Service Name</th> |
---|
806 | + <th class="nickname-and-peerid"> |
---|
807 | + <div class="service-nickname">Nickname</div> |
---|
808 | + <div class="nodeid data-chars">PeerID</div></th> |
---|
809 | + <th>Connected?</th> |
---|
810 | + <th>since</th> |
---|
811 | + <th>First Announced</th> |
---|
812 | + <th>Version</th> |
---|
813 | + </tr> |
---|
814 | + <tr n:pattern="item" n:render="service_row"> |
---|
815 | + <td class="service-service-name"><n:slot name="service_name"/></td> |
---|
816 | + <td class="nickname-and-peerid"> |
---|
817 | + <div class="nickname"><n:slot name="nickname"/></div> |
---|
818 | + <div class="nodeid data-chars"><n:slot name="peerid"/></div></td> |
---|
819 | + <td> |
---|
820 | + <n:attr name="class">service-connected connected-<n:slot name="connected-bool"/></n:attr> |
---|
821 | + <n:slot name="connected"/> |
---|
822 | + </td> |
---|
823 | + <td class="service-since"> <n:slot name="since"/></td> |
---|
824 | + <td class="service-announced"> <n:slot name="announced"/></td> |
---|
825 | + <td class="service-version"> <n:slot name="version"/></td> |
---|
826 | + </tr> |
---|
827 | + <tr n:pattern="empty"><td>no peers!</td></tr> |
---|
828 | + </table> |
---|
829 | + </div> |
---|
830 | </div> |
---|
831 | |
---|
832 | hunk ./src/allmydata/web/welcome.xhtml 88 |
---|
833 | -<h2>Other Resources</h2> |
---|
834 | +<div class="section" id="other-resources"> |
---|
835 | + <h2>Other Resources</h2> |
---|
836 | |
---|
837 | hunk ./src/allmydata/web/welcome.xhtml 91 |
---|
838 | -<div>Please visit the <a href="http://allmydata.org">Tahoe home page</a> for |
---|
839 | -code updates and bug reporting.</div> |
---|
840 | + <div>Please visit the <a href="http://allmydata.org">Tahoe home page</a> for |
---|
841 | + code updates and bug reporting.</div> |
---|
842 | |
---|
843 | hunk ./src/allmydata/web/welcome.xhtml 94 |
---|
844 | -<div>The <a href="provisioning">provisioning tool</a> and <a |
---|
845 | -href="reliability">reliability calculator</a> may also be useful.</div> |
---|
846 | + <div>The <a href="provisioning">provisioning tool</a> and <a |
---|
847 | + href="reliability">reliability calculator</a> may also be useful.</div> |
---|
848 | |
---|
849 | hunk ./src/allmydata/web/welcome.xhtml 97 |
---|
850 | -<div n:render="incident_button" /> |
---|
851 | + <div n:render="incident_button" /> |
---|
852 | +</div> |
---|
853 | |
---|
854 | hunk ./src/allmydata/web/welcome.xhtml 100 |
---|
855 | - </body> |
---|
856 | -</html> |
---|
857 | +</body></html> |
---|
858 | } |
---|
859 | [Add CSS styles to spiff up the Tahoe WUI's appearance, particularly the welcome page and directories. |
---|
860 | Kevin Reid <kpreid@mac.com>**20090503203142 |
---|
861 | Ignore-this: 5c50af241c1a958b5180ef2b6a49f626 |
---|
862 | ] hunk ./src/allmydata/web/tahoe.css 9 |
---|
863 | padding: .25em; |
---|
864 | overflow: auto; |
---|
865 | } |
---|
866 | + |
---|
867 | +/* ----------------------------------------------------------------------- */ |
---|
868 | + |
---|
869 | +/* colors borrowed from the Allmydata logo */ |
---|
870 | + |
---|
871 | +/* general style */ |
---|
872 | +h1 { |
---|
873 | + text-align: center; |
---|
874 | +} |
---|
875 | +table { |
---|
876 | + margin: 1em auto; |
---|
877 | + border: .2em solid #3289b4; |
---|
878 | + border-spacing: 1px; |
---|
879 | +} |
---|
880 | +th { |
---|
881 | + color: white; |
---|
882 | + background-color: #58a1c3; |
---|
883 | +} |
---|
884 | +td { padding: .3em .3em; } |
---|
885 | +th { padding: .3em .3em; } |
---|
886 | +.table-headings-top th { text-align: center; } |
---|
887 | +.table-headings-left th { text-align: right; vertical-align: top; } |
---|
888 | +legend { |
---|
889 | + font-weight: bold; |
---|
890 | +} |
---|
891 | + |
---|
892 | +.connected-yes, .connected-True { |
---|
893 | + border: 1px solid #75d24a; |
---|
894 | + background-color: #EFE; |
---|
895 | +} |
---|
896 | +.connected-no, .connected-False { |
---|
897 | + border: 1px solid #F00; |
---|
898 | + background-color: #FBB; |
---|
899 | +} |
---|
900 | + |
---|
901 | +.encoded, .nodeid { |
---|
902 | + font-family: monospace; |
---|
903 | + font-size: 80%; |
---|
904 | +} |
---|
905 | + |
---|
906 | +.empty-marker { |
---|
907 | + background-color: white; |
---|
908 | + color: gray; |
---|
909 | +} |
---|
910 | +table td.empty-marker { |
---|
911 | + padding: 6em 10em; |
---|
912 | + text-align: center; |
---|
913 | + vertical-align: center; |
---|
914 | +} |
---|
915 | + |
---|
916 | +/* styles for server listings in tables (nickname above nodeid) */ |
---|
917 | +th.nickname-and-peerid { |
---|
918 | + text-align: left; |
---|
919 | +} |
---|
920 | +.nickname { |
---|
921 | + font: inherit; |
---|
922 | + font-family: sans-serif; |
---|
923 | + font-weight: bold; |
---|
924 | +} |
---|
925 | + |
---|
926 | + |
---|
927 | +/* just in case, make sure floats don't stomp on big tables etc. */ |
---|
928 | +#section { clear: both; } |
---|
929 | + |
---|
930 | +/* section-specific styles - turn this client info into a sidebar */ |
---|
931 | +#this-client { |
---|
932 | + font-size: 60%; |
---|
933 | + border: .2em solid #3289b4; |
---|
934 | + float: right; |
---|
935 | + width: 40%; |
---|
936 | + margin: 0 0 .5em .5em; |
---|
937 | + padding: 3px; |
---|
938 | +} |
---|
939 | +#this-client .nodeid { font-size: inherit; } |
---|
940 | +#this-client h2 { |
---|
941 | + text-align: center; |
---|
942 | + background: #3289b4; |
---|
943 | + color: white; |
---|
944 | + margin: -2px -2px 0 -2px; /* matches padding */ |
---|
945 | + padding: .3em; |
---|
946 | +} |
---|
947 | +#this-client table { |
---|
948 | + font-size: inherit; |
---|
949 | + margin: 0 -3px -3px -3px; /* matches padding */ |
---|
950 | +} |
---|
951 | +#this-client td > ul { |
---|
952 | + list-style-type: outside; |
---|
953 | + margin: 0 0 0 2.3em; |
---|
954 | + padding-left: 0; |
---|
955 | +} |
---|
956 | + |
---|
957 | + |
---|
958 | +/* services table */ |
---|
959 | +.services { |
---|
960 | +} |
---|
961 | + |
---|
962 | +/* --- Directory page styles --- */ |
---|
963 | + |
---|
964 | +body.tahoe-directory-page { |
---|
965 | + color: black; |
---|
966 | + background: #c0d9e6; |
---|
967 | + margin: 1em 0; /* zero margin so the table can be flush */ |
---|
968 | +} |
---|
969 | +table.tahoe-directory { |
---|
970 | + color: black; |
---|
971 | + background: white; |
---|
972 | + width: 100%; |
---|
973 | + /*border-left-color: #D7E0E5; |
---|
974 | + border-right-color: #D7E0E5;*/ |
---|
975 | + border-left: 0; |
---|
976 | + border-right: 0; |
---|
977 | +} |
---|
978 | +.tahoe-directory-footer { |
---|
979 | + color: black; |
---|
980 | + background: #c0d9e6; |
---|
981 | + margin: 0 1em; /* compensate for page 0 margin */ |
---|
982 | +} |
---|
983 | + |
---|
984 | +/* directory-screen toolbar */ |
---|
985 | +.toolbar { |
---|
986 | + display: table; |
---|
987 | + margin: .2em auto; |
---|
988 | + /*width: 100%;*/ |
---|
989 | +} |
---|
990 | +.toolbar .toolbar-item { |
---|
991 | + display: table-cell; |
---|
992 | + text-align: center; |
---|
993 | + padding: 0 1em; |
---|
994 | +} |
---|
995 | [Tweak wording in directory page: not-read-only is "modifiable", mention creating a directory _in this directory_. |
---|
996 | Kevin Reid <kpreid@mac.com>**20090503203325 |
---|
997 | Ignore-this: d92c5de55be7dc1a07c55f5dbeee5556 |
---|
998 | ] { |
---|
999 | hunk ./src/allmydata/web/directory.py 527 |
---|
1000 | |
---|
1001 | def render_title(self, ctx, data): |
---|
1002 | si_s = abbreviated_dirnode(self.node) |
---|
1003 | - header = ["Directory SI=%s" % si_s] |
---|
1004 | + header = ["AllMyData - Tahoe - Directory SI=%s" % si_s] |
---|
1005 | + if self.node.is_readonly(): |
---|
1006 | + header.append(" (read-only)") |
---|
1007 | + else: |
---|
1008 | + header.append(" (modifiable)") |
---|
1009 | return ctx.tag[header] |
---|
1010 | |
---|
1011 | def render_header(self, ctx, data): |
---|
1012 | hunk ./src/allmydata/web/directory.py 538 |
---|
1013 | si_s = abbreviated_dirnode(self.node) |
---|
1014 | header = ["Directory SI=", T.span(class_="data-chars")[si_s]] |
---|
1015 | if self.node.is_readonly(): |
---|
1016 | - header.append(" (readonly)") |
---|
1017 | + header.append(" (read-only)") |
---|
1018 | return ctx.tag[header] |
---|
1019 | |
---|
1020 | def render_welcome(self, ctx, data): |
---|
1021 | hunk ./src/allmydata/web/directory.py 681 |
---|
1022 | T.fieldset[ |
---|
1023 | T.input(type="hidden", name="t", value="mkdir"), |
---|
1024 | T.input(type="hidden", name="when_done", value="."), |
---|
1025 | - T.legend(class_="freeform-form-label")["Create a new directory"], |
---|
1026 | + T.legend(class_="freeform-form-label")["Create a new directory in this directory"], |
---|
1027 | "New directory name: ", |
---|
1028 | T.input(type="text", name="name"), " ", |
---|
1029 | T.input(type="submit", value="Create"), |
---|
1030 | } |
---|
1031 | [Comment on duplication of code/markup found during styling project. |
---|
1032 | Kevin Reid <kpreid@mac.com>**20090503203442 |
---|
1033 | Ignore-this: a4b7f9f0ab57d2c03be9ba761be8d854 |
---|
1034 | ] { |
---|
1035 | hunk ./src/allmydata/web/check_results.py 115 |
---|
1036 | sharemap = [] |
---|
1037 | servers = {} |
---|
1038 | |
---|
1039 | + # FIXME: The two tables below contain nickname-and-nodeid table column markup which is duplicated with each other, introducer.xhtml, and deep-check-results.xhtml. All of these (and any other presentations of nickname-and-nodeid) should be combined. |
---|
1040 | + |
---|
1041 | for shareid in sorted(data["sharemap"].keys()): |
---|
1042 | serverids = data["sharemap"][shareid] |
---|
1043 | for i,serverid in enumerate(serverids): |
---|
1044 | hunk ./src/allmydata/web/introweb.py 67 |
---|
1045 | |
---|
1046 | return simplejson.dumps(res, indent=1) + "\n" |
---|
1047 | |
---|
1048 | + # FIXME: This code is duplicated in root.py and introweb.py. |
---|
1049 | def data_version(self, ctx, data): |
---|
1050 | return get_package_versions_string() |
---|
1051 | def data_import_path(self, ctx, data): |
---|
1052 | hunk ./src/allmydata/web/root.py 180 |
---|
1053 | child_report_incident = IncidentReporter() |
---|
1054 | #child_server # let's reserve this for storage-server-over-HTTP |
---|
1055 | |
---|
1056 | + # FIXME: This code is duplicated in root.py and introweb.py. |
---|
1057 | def data_version(self, ctx, data): |
---|
1058 | return get_package_versions_string() |
---|
1059 | def data_import_path(self, ctx, data): |
---|
1060 | } |
---|
1061 | |
---|
1062 | Context: |
---|
1063 | |
---|
1064 | [.darcs-boringfile: also ignore .gitignore |
---|
1065 | warner@allmydata.com**20090415210550 |
---|
1066 | Ignore-this: d29db314a1e506f6240859559436b4c3 |
---|
1067 | ] |
---|
1068 | [.darcs-boringfile: ignore .git, I'm starting to play around with it |
---|
1069 | warner@allmydata.com**20090415205929 |
---|
1070 | Ignore-this: 89234453516483c9586cd6e1351e88b5 |
---|
1071 | ] |
---|
1072 | [fix quicktest: stop using setuptools, add misc/run-with-pythonpath.py, to make it run faster |
---|
1073 | warner@lothar.com**20090414201400] |
---|
1074 | [TAG allmydata-tahoe-1.4.1 |
---|
1075 | zooko@zooko.com**20090414025636 |
---|
1076 | Ignore-this: de78fc32364c83e9f4e26b5abcfdea4a |
---|
1077 | ] |
---|
1078 | Patch bundle hash: |
---|
1079 | f2f9942315b8a20cb649d9eedaa0a6b6cf0c6bdb |
---|