Tims_blog_2025-11-29_14:23:12.40_transforms >> Tims_blog_2026-04-25_16:01:26.25_transforms >> garage_door_opener_transforms >> _bug9HuMcJvz_transforms >> Business_Ideas 

TB Wiki

Login

Regression Test

Expected HTML for page "TBWikiToDo"


expected html
nothing
t1This file contains notes about the status and progress of TBWikit
2<hr size=4>
3 
4<table align="right"><tr><td><div class="toc">
5Contents:
6<ul>
7  <li><a href="#Next_major_items_to_work_on">Next&nbsp;major&nbsp;items&nbsp;to&nbsp;work&nbsp;on</a></li>
8  <li><a href="#Things_to_do_(random_ideas,_un-triaged)">Things&nbsp;to&nbsp;do&nbsp;(random&nbsp;ideas,&nbsp;un-triaged)</a></li>
9  <li><a href="#Major_Features_that_are_not_complete_enough_to_use">Major&nbsp;Features&nbsp;that&nbsp;are&nbsp;not&nbsp;complete&nbsp;enough&nbsp;to&nbsp;use</a></li>
10  <ul>
11    <li><a href="#User_accounts">User&nbsp;accounts</a></li>
12    <li><a href="#Table_usability">Table&nbsp;usability</a></li>
13  </ul>
14  <li><a href="#BugList,_FIXTHIS,_Regressions">BugList,&nbsp;FIXTHIS,&nbsp;Regressions</a></li>
15  <ul>
16    <li><a href="#Table_of_combined_issues">Table&nbsp;of&nbsp;combined&nbsp;issues</a></li>
17    <li><a href="#Regression_count">Regression&nbsp;count</a></li>
18  </ul>
19  <li><a href="#Other_items_to_work_on,_by_category">Other&nbsp;items&nbsp;to&nbsp;work&nbsp;on,&nbsp;by&nbsp;category</a></li>
20  <ul>
21    <li><a href="#Style">Style</a></li>
22    <li><a href="#General">General</a></li>
23    <li><a href="#Security">Security</a></li>
24    <li><a href="#Processors">Processors</a></li>
25    <ul>
26      <li><a href="#Blog">Blog</a></li>
27      <li><a href="#ProgressChart">ProgressChart</a></li>
28      <li><a href="#SlideShow">SlideShow</a></li>
29      <li><a href="#ImageGallery">ImageGallery</a></li>
30    </ul>
31    <li><a href="#Tables">Tables</a></li>
32    <li><a href="#Forms_editing_and_Templates">Forms&nbsp;editing&nbsp;and&nbsp;Templates</a></li>
33    <li><a href="#Users_and_attributes">Users&nbsp;and&nbsp;attributes</a></li>
34  </ul>
35  <li><a href="#Long_term_ideas">Long&nbsp;term&nbsp;ideas</a></li>
36  <li><a href="#Things_Completed">Things&nbsp;Completed</a></li>
37</ul>
38</div></td></tr></table>
39<p>
40Note that some test materials are on a separate wiki at:
41<a href="http://bird.org/cgi-bin/test.cgi/FrontPage">http://bird.org/cgi-bin/test.cgi/FrontPage</a>
42<p>
43Before working on this wiki any more, re-read this article by a developer
44who has written 7 personal wikis:
45<ul><li><a href="https://borretti.me/article/unbundling-tools-for-thought">https://borretti.me/article/unbundling-tools-for-thought</a>
46<ul><li>the basic idea is that there are better tools for thought than personal wikis
47<ul><li>but that's OK - tbwiki is a hobby project that is fun to work on
48</ul>
49</ul>
50</ul>
51<p>
52<h1><a name="Next_major_items_to_work_on">Next major items to work on</a>
53<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Next_major_items_to_work_on">edit section</a>]</font></span>
54</h1>
55<ul><li>add help routine to all processors (only 5 left as of November 2025)
56<li>For SpaceBlog: Add features to ProcessorBlogMultipage
57<ul><li>See <a href="http://bird.org/test/Multipage_Blog_To_Do">http://bird.org/test/Multipage_Blog_To_Do</a>
58</ul><li>improve ProcessorChart
59<ul><li>fix svg tags and content-type header returned from vgchart.draw_to_str_from_text
60</ul><li>support captions
61<ul><li>if caption="foo bar" is an attribute of an image, use figure, and figcaption to surround the image.
62<li>see <a href="https://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_figcaption_css">https://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_figcaption_css</a>
63</ul>
64</ul>
65<p>
66<ul><li>MacroCategory.py - show a list of pages in a particular category
67<ul><li>See the <a href="/tbwiki/Category_Feature">Category Feature</a> page for details.
68</ul>
69</ul>
70<p>
71<ul><li>(done) ExportSite processor
72<li>Search macro:
73<pre>
74 {{Search(word or phrase)}}
75</pre>
76</ul>
77<p>
78<ul><li>do performance enhancements, possibly using the <a href="https://pypi.org/project/scalene/">Scalene profiler</a>
79<li>add a "blog" processor
80<ul><li>for ideas, see: <a href="https://jekyllrb.com/docs/posts/">https://jekyllrb.com/docs/posts/</a>
81<ul><li>save blog pages as: blog-YYYY-MM-DD
82<li>don't support comments
83<li>show index of blog posts, current post
84</ul><li>research blog layouts:
85<ul><li>see <a href="/tbwiki/Blog_Layouts_and_Features">Blog Layouts and Features</a> for ideas
86</ul></ul><li>figure out why I keep getting logged out (is there something wrong with
87   the cookie expiration date?)
88<li>get css from page area of local wiki
89<ul><li>don't retrieve from /var/www/css
90</ul><li>Support wiki on mobile devices
91<ul><li>(done) fix up mobile theme
92<ul><li>change mobile.css and mobile.footer and mobile.header
93<li>some pages still show very small fonts on my phone
94</ul><li>autodetect mobile phone browser, and use mobile theme automatically
95<ul><li>user UserAgent field
96</ul></ul><li>switch to wsgi - I considered flask, see <a href="/tbwiki/FlaskResearch">FlaskResearch</a>
97<ul><li>should switch to wsgi - I have experience with that
98</ul><li>enhance blog system (see <a href="/tbwiki/TBWikiToDo#Blog">TBWikiToDo#Blog</a>)
99<li>add page lock (to support multi-user)
100</ul>
101<p>
102<ul><li>make tables robust
103<ul><li>eliminate save_table_data - placing support in appropriate routines
104   in the io_handler (tb.handler)
105<ul><li>one of write() or some other class method.
106</ul><li>fix bug 017.  See <a href="/tbwiki/BugList">BugList</a>
107<li>fix bug with edit-in-place on <a href="/tbwiki/QuarterlyData">QuarterlyData</a> table
108<li>make automated test suite for testing page rendering
109<li>fix all known bugs, with all known table types
110<ul><li>make a table test matrix
111</ul></ul><li>table flow control
112<ul><li>for transcription program (ProcessorTranscriber.py)
113<ul><li>make a view form and edit form for the transcriber database
114<ul><li>read documentation on view and edit forms
115</ul><li>add processor_name to the transcriber database config
116</ul></ul><li>add support for hybrid tables
117<ul><li>use case is to add a spreadsheet formula to the FIXTHIS pages, to show totals
118<li>ability to have tables with records from different sources
119<ul><li>add io_handler per-record
120<li>need permission checks (readable, writable) per-record
121</ul>
122</ul>
123</ul>
124<p>
125<h1><a name="Things_to_do_(random_ideas,_un-triaged)">Things to do (random ideas, un-triaged)</a>
126<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Things_to_do_(random_ideas,_un-triaged)">edit section</a>]</font></span>
127</h1>
128<ul><li>don't allow caching a page edit page
129<ul><li>use http meta cache-control directive to prevent caching
130<li>set caching relatively low anyway
131</ul><li>add page locking for edits - to prevent collisions
132<ul><li>lock a page for 15 minutes when an edit is started
133<ul><li>create a lock file in the admin directory
134<ul><li>put user, start time, and page hash in lock file
135</ul><li>start a timer to handle lock timeout
136</ul><li>generate a hash of the page when the edit starts
137<li>if someone else tries to edit, give them a warning that they have lower priority - indicate who has the lock
138<li>when someone submits a page, compare the page hash and lock
139<ul><li>if page hash doesn't match, don't save the data
140<li>remove the lock
141</ul><li>after 15 minutes, remove the lock
142</ul><li>support arbitrary field addressability in json data:
143<ul><li>JsonPageFile:field.list_field[n].foo.bar
144</ul><li>fix bug: edit-in-place wipes out conf entries in inline block
145</ul>
146<p>
147<ul><li>add 'tbclient list' feature
148<ul><li>modify tbclient to send 'list' request
149<li>modify ProcessorDataHandler.py to respond to list request
150</ul><li>add TODAY() function to spreadsheet
151</ul>
152<p>
153<ul><li>add websed over snapshotted values
154<ul><li>add websed over diff of snapshotted values
155</ul><li>add chart over snapshotted values
156<ul><li>use plot charts?
157</ul><li>add access-controlled content
158<ul><li>the purpose of this is to add a page with contact information for other
159     test projects, on the fuego wiki
160<li>see <a href="https://moinmo.in/HelpOnAccessControlLists">https://moinmo.in/HelpOnAccessControlLists</a>
161<li>at the block level, with ProcessorAccessControl
162<li>at the page level, with accesscontrol directive
163<li>put required permissions at top of block
164<li>prevent reading or writing to block (or page)
165</ul>
166</ul>
167<p>
168<ul><li>add link to page for file column in attrdb and parsed data files (to go to page)
169<ul><li>This is handy for FIXTHIS entries, and for editing
170</ul><li><a href="/tbwiki/_bug0013">_bug0013</a> - can't edit-in-place the buglist
171</ul>
172<p>
173<h1><a name="Major_Features_that_are_not_complete_enough_to_use">Major Features that are not complete enough to use</a>
174<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Major_Features_that_are_not_complete_enough_to_use">edit section</a>]</font></span>
175</h1>
176<p>
177<h2><a name="User_accounts">User accounts</a>
178<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=User_accounts">edit section</a>]</font></span>
179</h2>
180<ul><li>Creating and administering user accounts
181<ul><li>need to re-test user accounts, with new features (next_num)
182<li>Users can create accounts, but physical access to the server is required to change admin flags, or to remove an account
183<ul><li>may be able to use a special version of attrdb (raw page edit) for user accounts.  It wouldn't be great but would get the job done for now.
184<li>is the user edit form not working??
185</ul>
186</ul>
187</ul>
188<p>
189<h2><a name="Table_usability">Table usability</a>
190<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Table_usability">edit section</a>]</font></span>
191</h2>
192<ul><li>Specific table usability features:
193<ul><li>other usability feature is deciding which links to use for a table (I never use query, and always have to decide between 'edit-in-place' or 'edit')
194</ul>
195</ul>
196<p>
197<h1><a name="BugList,_FIXTHIS,_Regressions">BugList, FIXTHIS, Regressions</a>
198<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=BugList,_FIXTHIS,_Regressions">edit section</a>]</font></span>
199</h1>
200<ul><li>See the <a href="/tbwiki/BugList">BugList</a> page for bugs that need to be worked on.
201<ul><li>that bug list is from a database.  Here is one that just text on a page:
202<ul><li><a href="/tbwiki/Manual_Bug_List">Manual Bug List</a>
203</ul></ul><li>See the <a href="/tbwiki/CodeFixthisList">CodeFixthisList</a> page for a list of FIX<b></b>THIS items in the code
204<li>See the <a href="/tbwiki/PageFixthisList">PageFixthisList</a> page for a list of FIX<b></b>THIS items in the pages
205</ul>
206<p>
207 
208<p>
209<h2><a name="Table_of_combined_issues">Table of combined issues</a>
210<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Table_of_combined_issues">edit section</a>]</font></span>
211</h2>
212<table border=1>
213<tr bgcolor="#d0d0ff">
214  <td align="center"><b>Date</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=Date">^</a></td>
215  <td align="center"><b>bug_count</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=bug_count">^</a></td>
216  <td align="center"><b>FIXTHIS_count</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=FIXTHIS_count">^</a></td>
217  <td align="center"><b>missing_FEATURES</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=missing_FEATURES">^</a></td>
218  <td align="center"><b>total</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=total">^</a></td>
219</tr>
220<tr>
221  <td>2017-03-08</td>
222  <td>15</td>
223  <td>xx</td>
224  <td>xx</td>
225  <td>15 + xx + xx</td>
226</tr>
227<tr>
228  <td>2016-08-12</td>
229  <td>14</td>
230  <td>94</td>
231  <td>2</td>
232  <td>110</td>
233</tr>
234<tr>
235  <td>2016-08-02</td>
236  <td>13</td>
237  <td>92</td>
238  <td>3</td>
239  <td>108</td>
240</tr>
241<tr>
242  <td>2011-04-21</td>
243  <td>17</td>
244  <td>78</td>
245  <td>1</td>
246  <td>96</td>
247</tr>
248<tr>
249  <td>2008-10-06</td>
250  <td>17</td>
251  <td>78</td>
252  <td>1</td>
253  <td>96</td>
254</tr>
255<tr>
256  <td>2008-02-04</td>
257  <td>13</td>
258  <td>66 (55 cgi-bin+ 11 plugin)</td>
259  <td>3</td>
260  <td>82</td>
261</tr>
262<tr>
263  <td>2007-07-25</td>
264  <td>9</td>
265  <td>62</td>
266  <td>3?</td>
267  <td>74</td>
268</tr>
269<tr>
270  <td>2007-02-06</td>
271  <td>9</td>
272  <td>41</td>
273  <td>5</td>
274  <td>55</td>
275</tr>
276<tr>
277  <td>2006-11-15</td>
278  <td>8</td>
279  <td>35</td>
280  <td>6</td>
281  <td>49</td>
282</tr>
283<tr>
284  <td>2006-10-06</td>
285  <td>8</td>
286  <td>37</td>
287  <td>7</td>
288  <td>52</td>
289</tr>
290<tr>
291  <td>2006-08-25</td>
292  <td>6</td>
293  <td>35</td>
294  <td>5</td>
295  <td>46</td>
296</tr>
297</table>
298<a href="/tbwiki/TBWikiToDo?action=Table.query_form&source_spec=%23%3A.ToDoData&conf=&table_block=TBWikiToDo%3A__block3">
299            <font size=-1>Query</font></a>
300<br>
301 
302<p>
303<hr size=8>
304<h2><a name="Regression_count">Regression count</a>
305<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Regression_count">edit section</a>]</font></span>
306</h2>
307Periodically, check <a href="http://bird.org/test/Regression_Test">the regression test page</a> to see if things still work as expected.
308<p>
309Here's a table, manually maintained, with regression testing history.
310<table border=1>
311<tr bgcolor="#d0d0ff">
312  <td align="center"><b>date</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=date">^</a></td>
313  <td align="center"><b>version</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=version">^</a></td>
314  <td align="center"><b>commit</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=commit">^</a></td>
315  <td align="center"><b>OK</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=OK">^</a></td>
316  <td align="center"><b>missing output</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=missing_output">^</a></td>
317  <td align="center"><b>bad</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=bad">^</a></td>
318  <td align="center"><b>bad page list</b>&nbsp;&nbsp;<a href="/tbwiki/TBWikiToDo?sortby=bad_page_list">^</a></td>
319</tr>
320<tr>
321  <td>2016-08-12</td>
322  <td>1.6.2</td>
323  <td>a45cce77</td>
324  <td>91</td>
325  <td>2</td>
326  <td>2</td>
327  <td>TestMarkupVariables, TestMarkupVariablesDyamicTest</td>
328</tr>
329<tr>
330  <td>2016-07-18</td>
331  <td>1.5.3</td>
332  <td>61eb2f1e</td>
333  <td>39</td>
334  <td>31</td>
335  <td>4</td>
336  <td>TestMarkupVariablesStatic, TestSandbox, tbwiki.footer, tbwiki.header</td>
337</tr>
338</table>
339<a href="/tbwiki/TBWikiToDo?action=Table.query_form&source_spec=TBWikiToDo%3Aregression_history&conf=&table_block=TBWikiToDo%3Aregression_history">
340            <font size=-1>Query</font></a>
341<br>
342 
343<p>
344<h1><a name="Other_items_to_work_on,_by_category">Other items to work on, by category</a>
345<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Other_items_to_work_on,_by_category">edit section</a>]</font></span>
346</h1>
347<h2><a name="Style">Style</a>
348<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Style">edit section</a>]</font></span>
349</h2>
350<ul><li>enhance themes feature
351<ul><li>see <a href="/tbwiki/DocThemes">DocThemes</a>
352<ul><li>for an example of self-editability - see <a href="http://kernelnewbies.org/navigation_menu">http://kernelnewbies.org/navigation_menu</a>
353</ul><li>calculate theme from user account or other variable
354<ul><li>current use of page name is lame
355</ul><li>allow configurable navigation links
356<li>allow configurable toolbox links
357<li>read page dressing from nested pages??
358<ul><li>allow header and footer pages to be HTML or TBWIKI format
359<ul><li>if TBWIKI, allow for sub-page references that are
360        loaded, parsed and formatted recursively
361</ul></ul></ul><li>tweak mobile.css
362<ul><li>see w3c pages about automatic layout - <a href="http://www.w3schools.com/html/html_layout.asp">http://www.w3schools.com/html/html_layout.asp</a>
363</ul><li>switch to MediaWiki page syntax?? (not yet)
364<ul><li>see <a href="http://meta.wikimedia.org/wiki/Help:Wikitext">http://meta.wikimedia.org/wiki/Help:Wikitext</a>
365<li>need to switch bullets handling
366<li>need to switch table parsing
367</ul><li>have css come from page area??? (would allow editing css using wiki)
368</ul>
369<p>
370<h2><a name="General">General</a>
371<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=General">edit section</a>]</font></span>
372</h2>
373<p>
374<ul><li>convert upload to be a processor
375<ul><li>allows putting upload on any page
376<li>control number of files via config
377<li>can specify link(" action=upload&amp;dest_filename=foo") for missing files - to prompt user if file is missing
378<li>upload result should be shown in page message?
379</ul><li>add page rename
380<ul><li>can do create, move content, delete, but that's awkward
381</ul><li>generate tbwiki stats from log
382<li>cache page content, for static content
383<ul><li>change all prints to output routines (to control routing of output)
384</ul><li>allow administrators to view and edit files in the 'admin' directory
385 using normal tbwiki access (just like regular pages)
386<ul><li>treat it like a MoinMoin overlay directory
387<li>put the bulk of the config in a file in the admin directory
388<li>put the header and footer files in the admin directory
389<li>change code so that if user is admin, pages show up in lists, macros, etc.
390<ul><li>make functions that give page lists, that include the pages or admin
391       directory in the path
392<li>when editing, keep track of which directory a page is located in
393<li>when loading a page, if user is admin, check the page dir first, then
394       the admin directory
395<ul><li>make a function to get a page, that handles the page dir and admin dir
396</ul></ul></ul><li>make a mobile viewer
397<li>add ability to grab content at specific intervals
398<ul><li>kind of a combination of crontab and websed
399<li>allows for charting something automatically over time
400<li>make a crontab processor
401<ul><li>present a form for when to run, and action
402</ul></ul><li>make a syntax for block names that are not included in block output
403<ul><li>we have anonymous blocks, hidden blocks, and named blocks
404<ul><li>named blocks show both the name and the content.  It would be nice to hide the name
405</ul><li>possibly: #.BlockName ??
406</ul><li>make tbwiki more relocatable (for use on laptop)
407<ul><li>on bird.org:
408<ul><li>move *.cgi scripts from www/cgi-bin to ~/work/tbwiki/cgi-bin
409<li>put link in www/cgi-bin
410<li>add base_dir to *.cgi scripts
411</ul><li>write script for laptop that does:
412<ul><li>downloads latest tbwiki and tbwiki-data
413<li>adjust base_dir in *.cgi files
414<li>adjust base_url in *.cgi files
415<li>adjust plugin symlinks in tbwiki-data dirs
416</ul></ul><li>make unit test system - see <a href="/tbwiki/Unit_Test_Notes">Unit Test Notes</a>
417<ul><li>NOTE - already have ProcessorRegressionCheck.py
418<li>have a page specify a test
419<li>have markup, and html and compare them
420<ul><li>here's one unit test:
421<pre>
422       record=bold 1
423       markup='''bold'''
424       html=&lt;b&gt;bold&lt;/b&gt;
425</pre>
426</ul><li>make a ProcessorUnitTest.py processor
427<ul><li>read all "UnitTest.*" pages, convert markup to html, compare to html
428<li>report results
429</ul></ul><li>put this categorized todo list in a table?
430<li>change main() in tbwiki_engine.py
431<ul><li>call main when tbwiki_engine.py is called from command line
432<li>make a tbwiki.py command?
433<ul><li>program should have the ability to create a static page from the command line
434<ul><li>e.g. tbwiki.py FrontPage -o FrontPage.html
435</ul><li>program should have the ability to run unit tests?
436</ul>
437</ul>
438</ul>
439<p>
440<h2><a name="Security">Security</a>
441<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Security">edit section</a>]</font></span>
442</h2>
443<ul><li>check permissions on table write operations
444<li>allow administrators to view and edit files in the 'admin' directory
445 using normal tbwiki access (just like regular pages)
446<ul><li>treat it like a MoinMoin overlay directory
447</ul><li>have rights affect the displayed table edit links
448</ul>
449<p>
450<h2><a name="Processors">Processors</a>
451<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Processors">edit section</a>]</font></span>
452</h2>
453<ul><li>add help routines for all Processors
454<li>add a processor for "select an item"
455<ul><li>used for choosing a group of words to practice
456<li>used for choosing a story to read in scriptures
457<li>present a list of items from a database, that are unselected
458<ul><li>allow a user to select one
459</ul><li>or, select an item randomly from a list of database records
460<ul><li>allow user to select it or keep choosing a different one
461</ul><li>have 3 categories: unselected, in-progress, finished
462<ul><li>database must "state" field?
463</ul><li>processor allows only legal state transitions
464<ul><li>specify legal state transitions (or is this too meta?)
465</ul></ul><li>support mapping routines (e.g. to convert chapters to pages and back)
466<li>ProcessorScriptureLookup.py - maybe should be a macro?
467<ul><li>take a reference, and replace it with the text for the versus
468<li>this should be very handy for church talks, lessons, etc.
469</ul><li>Add a mermaid.js processor for generating charts and graphs from markup
470</ul>
471<p>
472<h3><a name="Blog">Blog</a>
473<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Blog">edit section</a>]</font></span>
474</h3>
475 See <a href="https://bird.org/test/Multipage_Blog_To_Do">https://bird.org/test/Multipage_Blog_To_Do</a>
476<h3><a name="ProgressChart">ProgressChart</a>
477<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=ProgressChart">edit section</a>]</font></span>
478</h3>
479<ul><li>add support for goal lines to the ProgressChart processor
480<li>handle chart attributes
481<ul><li>make chart_attrs_class, to generate defaults when attrs are missing
482<li>create flat namespace for chart attributes
483<li>translate chart atttributes into call arguments during chart creation
484</ul><li>un-specialize pychartwrapper.py
485<ul><li>chart another data type using same wrapper??
486<ul><li>generic multi-series data chart
487<li>scripture reading chart?
488<li>weight chart
489<li>running chart??
490</ul></ul><li>support data entry and modification for TimsRunning data
491<ul><li>see ProcessorProgressChart.py
492<li>use Add Form for table??
493<ul><li>support current date for date entry??
494</ul>
495</ul>
496</ul>
497<p>
498<h3><a name="SlideShow">SlideShow</a>
499<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=SlideShow">edit section</a>]</font></span>
500</h3>
501<ul><li>SlideShow
502<ul><li>make sure all nested parsing works
503<li>add sidebar list of slides (section 1 headings), with links to pages
504<li>support show attributes and per-slide attributes (bgcolor, bgimage, margins, etc.)
505</ul>
506</ul>
507<p>
508<h3><a name="ImageGallery">ImageGallery</a>
509<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=ImageGallery">edit section</a>]</font></span>
510</h3>
511<ul><li>ImageGallery
512<ul><li>support links=1 - to show individual images in full screen
513<li>autodetect image size for full-screen (standalone) image gallery
514<ul><li>use Javascript to detect browser window size??
515</ul><li>support num_images - to show only some of the images
516<ul><li>gallery has prev and next links on sides (similar to blog navigation)
517</ul><li>support image borders in ProcessorImageGallery
518<li>support link to fullsize image in ProcessorImageGallery
519<li>support displaying the filenames in ProcessorImageGallery
520<li>add javascript zoom functions
521</ul>
522</ul>
523<p>
524<h2><a name="Tables">Tables</a>
525<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Tables">edit section</a>]</font></span>
526</h2>
527<ul><li>add sortby=select_order - to specify that text fields should be sorted
528   in the order that they appear inm the select possible_values list.
529<ul><li>this helps the user control the sort order for things like word-based
530    priority: ex: very high, high, medium, low, very low
531</ul><li>add messages to table module
532<ul><li>allow for outputting messages about an individual table
533<li>table.add_table_message(msg)
534<li>this would be handy for table-specific error messages
535<li>should have block-specific messages in general
536</ul><li>allow for configuration of table control links
537<ul><li>have user specify which links to show, and where
538</ul><li>use better filenames
539<ul><li>use unique part of filename for record_id
540<li>allow user to pick filename when creating the record
541</ul><li>support edit-in-place for tbwikidb files
542<ul><li>use get_section and set_section
543<ul><li>modify to read/write definition lines
544</ul></ul><li>eliminate difference between record, record_id
545<li>use tbwikidb or attrdb for user database??
546<ul><li>this puts human readable filler on every page, but that's the wiki way
547<li>this allows creating a multi-file database just by creating the template
548<li>this is fragile - human editors will break the pages parseability
549</ul><li>add table query cheat sheet to query table form page
550<li>make prototype family info database on bird.org
551<ul><li>automatically create a User account file on login???
552<li>make MemberXX records for family members
553<ul><li>determine the schema (what fields)
554<li>create a table view with contact information
555</ul></ul><li>table queries and views FEATURE
556<ul><li>support &lt;table&gt;RecordView
557</ul><li>support read-only attribute on whole table
558<li>Support time-sampled database
559<ul><li>schedule a websed operation that grabs data at crontab-like intervals
560<ul><li>or that creates a new record whenever the page is accessed (and schedule something to access the page automatically at periodic intervals)
561</ul></ul><li>support automatic data snapshotting
562<li>write a 'table creation wizard' processor
563<ul><li>ask for field names and types, and create the schema file and cover file (or template file, if its a tbwikidb)
564</ul><li>document table config concepts:
565<ul><li>base config (from original conf block)
566<li>dynamic config (from request form variables)
567<li>query config (from query conf block)
568</ul><li>saved queries
569<ul><li>specify query list in conf block
570<li>each item in list specifies a query conf block
571</ul><li>make backup file when editing table files
572<li>finish all routines for editing a table
573<ul><li>use {{{Table(arg1,arg2,arg3...) notation for inline tables
574<ul><li>support other args:
575<ul><li>formspec, query line (row filter, column filter, etc.)
576</ul></ul></ul><li>document Table use with data_scan module
577<ul><li><a href="/tbwiki/DocTables">DocTables</a> has some information (one example, the FIXTHIS table)
578</ul><li>multi-file tables
579<ul><li>display multi-line values correctly
580<li>display '&lt;no-data&gt;' values correctly
581<li>auto-sense type of each field (text, select, textarea) and use
582     for auto-form generation
583</ul><li>handle field types with enumerated values (lists and radio buttons)
584<li>document table architecture and interfaces - see <a href="/tbwiki/Table_Architecture">Table Architecture</a>
585<ul><li>document table attributes
586<li>document chart attributes
587</ul><li>make ProcessorTablePick.py
588<ul><li>See <a style="color:red;" href="/tbwiki/Table_Pick_Page">Table Pick Page</a>
589<li>present simplified list of "unpicked" items
590<li>allow user to pick one item
591<li>save picked item with attribute "state" changed to "in-progress"
592<li>present detailed list of "in-progress" items
593<li>allow user to mark an item as "done"
594<ul><li>save done item with attribute "state" changed to "done"
595</ul><li>whether user wants to have multiple items in "in-progress" state is their choice
596</ul><li>queries, query_lists
597</ul>
598<p>
599<h2><a name="Forms_editing_and_Templates">Forms editing and Templates</a>
600<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Forms_editing_and_Templates">edit section</a>]</font></span>
601</h2>
602<ul><li>use form emitter for user accounts.
603</ul>
604<p>
605<h2><a name="Users_and_attributes">Users and attributes</a>
606<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Users_and_attributes">edit section</a>]</font></span>
607</h2>
608<ul><li>Support online creation of new users
609<ul><li>make a "create user" form
610<li>create a new user account file from a form
611</ul><li>provide help if user forgets password
612<ul><li>link to e-mail the password??
613<li>password hint??
614</ul><li>create 'user.edit' action, which edits a user account file
615<li>support different roles (admin vs. non-admin)
616<li>allow user to edit their attribute values
617<ul><li>make an "edit user" form
618</ul><li>REFACTOR - use existing form code for user forms
619<li>make user account management it's own processor module
620<ul><li>ProcessorUser.py - we now have sub-actions, so this should work.
621<ul><li>it needs to access table operations, but in a special way
622</ul>
623</ul>
624</ul>
625<p>
626<h1><a name="Long_term_ideas">Long term ideas</a>
627<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Long_term_ideas">edit section</a>]</font></span>
628</h1>
629<ul><li>(done) add 'save expected output and show again' to RegressionTest processor
630<li>add link to backup page on history page
631<li>look at other wikis for feature ideas
632<ul><li>in particular, <a href="http://ikiwiki.info/">ikwiki</a> statically compiles the wiki on every page edit
633</ul><li>documentation
634<li>table editing:
635<ul><li>should support "save and edit again" and "save and add another row" buttons for saving edit forms.
636</ul><li>Table Of Contents
637<ul><li>do auto-table of contents, like wikipedia??
638<li>handle included files and text expanded from processors??!!
639</ul><li>check HTML and CSS on multiple browsers with BrowserCam or browsershots
640<ul><li>see <a href="http://browsershots.org/http://bird.org/tbwiki/FrontPage">http://browsershots.org/http://bird.org/tbwiki/FrontPage</a>
641</ul><li>make a journal processor (based on progress chart)
642<li>(in progress) make a blog processor (with threaded comments)
643<li>make a forum processor (with threaded and voted-on comments)
644<li>make a page cache
645<ul><li>add dependencies to a makefile, and rebuild cache when dependencies change
646</ul><li>put config into admin page?
647<ul><li>reduce cgi-bin to just some directory references
648</ul>
649</ul>
650<p>
651<h1><a name="Things_Completed">Things Completed</a>
652<span align=right class="section_edit_link">[<a href="/tbwiki/TBWikiToDo?action=edit&section=Things_Completed">edit section</a>]</font></span>
653</h1>
654<ul><li>2021-03 Remove '?action=save' from url in edit form
655<li>2018-10 Add image rotate to ImageGallery app.
656<li>2017-04 add triggerd - ability to detect triggers that are due and execute them
657<li>2017-03 add ProcessorTrigger - ability to trigger a snapshot
658<li>2017-03 add ProcessorSnapshot - page/block/table snapshot function
659<li>2017-02 add tbclient - ability to get,put and edit items in the wiki
660<li>2017-01 add page trails
661<li>2017-01 add relative index to cell address (so you can do $.-1)
662<li>2016-12 ProcessorImageGallery - finish showing images in full size page
663<li>2106-11 add ability to customize table operation links (edit_links, sort_links)
664<li>2016-9  add ability to read a specific block, by number
665<li>2016-08 convert to per-table messages (for debugging and errors)
666<li>2016-08 support editing sections with nested sub-sections
667<li>2016-08 allow default_values with generated values (%(timestamp), %(next_int), %(next_page_num))
668<li>2016-08 add page delete
669<li>2016-07 add tbwikidb database type
670<li>2016-07 fix data_scan module to parse multi-line fields
671<li>2016-05 make ProcessorImageGallery
672<li>2016-05 make ProcessorBlog
673<li>2016-03 make better diff output
674<li>2016-03 put engine_version in data_class, and add to footer
675<li>2016-03 add "printable format" option for page
676<li>2016-03 made a test wiki at: <a href="http://bird.org/cgi-bin/test.cgi/FrontPage">http://bird.org/cgi-bin/test.cgi/FrontPage</a>
677<li>2014-05 make talk pages optional - see config.has_talk_page global config
678<li>2010-10 support inline tables - FEATURE
679<li>2010-?? websed - add websed feature to scrape other web pages
680<ul><li>2010-?? data-scan - add as a processor first, then make into a database grabber
681</ul><li>2008-10 table - back up page on table edit
682<li>2008-09 chart - draw chart of table data
683<li>2008-08 processor - add a charting package (pychart)
684<li>2008-02 table - added support for sorting table rows
685<li>2008-02 table - support col_list and row_filter specifiers
686<li>2008-02 table - added ability to edit whole table at a time
687<li>2008-02 macro - create Include macro
688<li>2008-02 table - separated conf into separate class
689<ul><li>add field_db (parsing, handling)
690<ul><li>add field types, colors, possible values
691</ul><li>add routine to read block from page
692</ul><li>2008-02 table data - separated IO handler into separate class
693<li>move tbwiki with authentication to bird.org
694<li>aug03 - add user accounts.
695<ul><li>put user account files in an 'admin' directory
696<li>authenticate user from files in 'admin' directory in action user.login
697<li>look up user by name to process login form (in action user.login)
698</ul><li>jul07 - add cookie code for user accounts
699<li>feb07 - use pages for page dressing (see tbwiki.header and tbwiki.footer)
700<li>jan07 - support file upload FEATURE
701<li>11/15 - add support for inline images
702<li>change backup routine to save current version of page instead
703 of old version of file
704<li>save edit comment and show in history
705<li>edit sections FEATURE
706<li>parse and format:
707<ul><li>bullets
708<li>headers
709<li>horizontal rules
710<li>paragraph breaks
711<li>preformatting
712</ul><li>write edit form for page
713<li>save edited data to file
714<li>read page from data directory and emit as html
715<li>write handlers for various actions
716<li>create add_record form (using existing edit_form code)
717<li>write mtable.save_form() routine
718<li>re-write edit_form to present whole table with edit links
719<li>support Table internal macro, with args
720<li>modified backup time in file extension to be human-readable
721<li>wrote mtable.modify_record() routine
722<li>wrote mtable.remove_record() routine
723<li>parse and display URLs as links
724<li>use pages for page dressin
725<li>make items in table of contents into links
726<ul><li>make an anchor target for each heading
727<li>use href for anchor target in TableOfContents macro
728</ul><li>make nicer format for table of contents box
729<li>add search form to header
730<li>support multi-page table source_spec
731<ul><li>support e.g. "User*" as the spec
732<ul><li>read all pages starting with User
733<ul><li>finish parse_table_pages() routine
734<ul><li>read each page matching the source_spec
735<li>parse out values using a page template
736<ul><li>start with simple name=value parser
737</ul></ul></ul><li>create page on add record
738<li>write page on edit record
739<li>remove page on remove record
740</ul></ul><li>support history action
741<ul><li>show history from backup times
742<li>allow diff between two versions
743</ul>
744</ul>
745<p>
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

Differences for page "TBWikiToDo"


expected html
generated html
t No Differences Found t No Differences Found 
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

Update saved output

Back to diff page

Return to Regression_Test page
TBWiki engine 1.9.3 by Tim Bird