TB Wiki


TBWikiToDo in 'raw' format

Problem importing plugins
This file contains notes about the status and progress of TBWiki

= Things to do =

write a google map API test file in /var/www/html/maptest/
See http://mirror.celinuxforum.org/maptest/

== See also ==
 * Periodically, check [[TestPages]] to see if things still work as expected.
 * See the [[BugList]] page for bugs that need to be worked on.
 * See the [[FixthisList]] page for a list of FIXTHIS items in the code

== Bug, FIXTHIS, missing features count ==
See also FIXTHIS items in the source code:

||Date||bug count||FIXTHIS count||missing FEATURES||total||
||2011-04-21  ||17||78||1||96||
||2008-10-06  ||17       ||78           ||1  ||=#.bug_count+ #.FIXTHIS_count+ #.missing_FEATURES||
||2008-02-04  ||13       ||66 (55 cgi-bin+ 11 plugin)||3||82||
||2007-07-25  ||9        ||62           ||3?||74||
||2007-02-06  ||9        ||41           ||5 ||55||
||2006-11-15  ||8        ||35           ||6 ||49||
||2006-10-06  ||8        ||37           ||7 ||52||
||2006-08-25  ||6        ||35           ||5 ||46||



= Next major items to work on =
 * bug 13
 * add table spec attribute to enable/disable column sorting
 * add table query cheat sheet to query table form page
 * document Table use with data_scan module
   * [[DocTables]] has some information (one example, the FIXTHIS table)
   * fix elsummit confirmed attendee table
 * make tables robust
   * eliminate save_table_data - placing support in appropriate routines
   in the io_handler (tb.handler)
      * one of write() or some other class method.
   * fix bug 017.  See [[BugList]]
   * fix bug with edit-in-place on [[QuarterlyData]] table
   * make automated test suite for testing page rendering
   * fix all known bugs, with all known table types
     * make a table test matrix
 * handle chart attributes
   * make chart_attrs_class, to generate defaults when attrs are missing
   * create flat namespace for chart attributes
   * translate chart atttributes into call arguments during chart creation

== Uncategorized ideas ==
 * make talk pages optional
   * make code which displays "discussion" tab conditional on a global config

= Next, next major items to work on =
 * un-specialize pychartwrapper.py
   * chart another data type using same wrapper??
     * generic multi-series data chart
     * scripture reading chart?
     * weight chart
     * running chart??
 * support data entry and modification for TimsRunning data
   * see ProcessorProgressChart.py
   * use Add Form for table??
     * support current date for date entry??
 * queries, query_lists 
 * TBWiki task list
 * document table architecture and interfaces - see [[Table Architecture]]
   * document table attributes
   * document chart attributes
 * make prototype family info database on bird.org
   * automatically create a User account file on login???
   * make MemberXX records for family members
     * determine the schema (what fields)
     * create a table view with contact information
 * table queries and views FEATURE
   * support <table>RecordView
 * write a bug database

= Other items to work on, by category =
== Style ==
 * finish parsing bold, underline and italics
   * can't nest bold and italics
   * can't italicize a link
 * switch to MediaWiki page syntax??
   * see http://meta.wikimedia.org/wiki/Help:Wikitext
   * need to switch bullets handling
   * need to switch table parsing
 * enhance themes feature
   * see [[DocThemes]]
     * for an example of self-editability - see http://kernelnewbies.org/navigation_menu
   * calculate theme from user account or other variable
     * current use of page name is lame
   * allow configurable navigation links
   * allow configurable toolbox links
   * read page dressing from nested pages??
     * allow header and footer pages to be HTML or TBWIKI format
        * if TBWIKI, allow for sub-page references that are
        loaded, parsed and formatted recursively

== General ==
 * write a log entry for each access
   * generate tbwiki stats from log
 * need better diff output
 * need ability to delete page (for admins only?)
 * allow administrators to view and edit files in the 'admin' directory
 using normal tbwiki access (just like regular pages)
     * treat it like a MoinMoin overlay directory
 * make "printable view" of web page
   * basically display page with no decorations
 * make a mobile viewer
 * add ability to grab content at specific intervals
   * kind of a combination of crontab and websed
   * allows for charting something automatically over time

== Processors ==
 * support mapping routines (e.g. to convert chapters to pages and back)
 * add support for goal lines to the ProgressChart processor
 * slideshow
   * make sure all nested parsing works
   * add sidebar list of slides (section 1 headings), with links to pages
   * support show attributes and per-slide attributes (bgcolor, bgimage, margins, etc.)

== Tables ==
 * support read-only attribute
 * Support time-sampled database
 * support automatic data snapshotting
 * write a 'table creation wizard' processor
   * ask for field names and types, and create the schema file and cover file
 * document table config concepts:
   * base config (from original conf block)
   * dynamic config (from request form varables)
   * query config (from query conf block)
 * saved queries
   * specify query list in conf block
   * each item in list specifies a query conf block
 * make backup file when editing table files
 * finish all routines for editing a table
   * use {{{Table(arg1,arg2,arg3...) notation for inline tables
     * support other args:
       * formspec, query line (row filter, column filter, etc.)
 * multi-file tables
   * display multi-line values correctly
   * display '<no-data>' values correctly
   * auto-sense type of each field (text, select, textarea) and use
     for auto-form generation
 * handle field types with enumerated values (lists and radio buttons)

== Forms editing and Templates ==
 * write code to emit forms
   * code to emit different widgets
      * emit with %%(nameFieldTextArea)s ??
      * and %%(phoneFieldText)s ??
      * and %%(happyFieldCheckbox)s ??
 * use form emitter for page edit?? ) formspec?
 * use form emitter for user accounts. formspec?

== Users and attributes ==
 * Support online creation of new users
   * make a "create user" form
   * create a new user account file from a form
 * provide help if user forgets password
   * link to e-mail the password??
   * password hint??
 * create 'user.edit' action, which edits a user account file
 * support different roles (admin vs. non-admin)
 * allow user to edit their attribute values
   * make an "edit user" form
 * REFACTOR - use existing form code for user forms

= Long term ideas =
 * documentation
 * table editing:
   * should support "save and edit again" and "save and add another row" buttons for saving edit forms.
 * Table Of Contents
   * do auto-table of contents, like wikipedia??
   * handle included files and text expanded from processors??!!
 * check CSS on multiple browsers with BrowserCam

= Things Completed =
 * 2010-10 support inline tables - FEATURE
 * 2010-?? websed - add websed feature to scrape other web pages
   * 2010-?? data-scan - add as a processor first, then make into a database grabber
 * 2008-10 table - back up page on table edit
 * 2008-09 chart - draw chart of table data
 * 2008-08 processor - add a charting package (pychart)
 * 2008-02 table - added support for sorting table rows
 * 2008-02 table - support col_list and row_filter specifiers
 * 2008-02 table - added ability to edit whole table at a time
 * 2008-02 macro - create Include macro
 * 2008-02 table - separated conf into separate class
   * add field_db (parsing, handling)
     * add field types, colors, possible values
   * add routine to read block from page
 * 2008-02 table data - separated IO handler into separate class
 * move tbwiki with authentication to bird.org
 * aug03 - add user accounts.
   * put user account files in an 'admin' directory
   * authenticate user from files in 'admin' directory in action user.login
   * look up user by name to process login form (in action user.login) 
 * jul07 - add cookie code for user accounts
 * feb07 - use pages for page dressing (see tbwiki.header and tbwiki.footer)
 * jan07 - support file upload FEATURE
 * 11/15 - add support for inline images
 * change backup routine to save current version of page instead
 of old version of file
 * save edit comment and show in history
 * edit sections FEATURE
 * parse and format:
    * bullets
    * headers
    * horizontal rules
    * paragraph breaks
    * preformatting
 * write edit form for page
 * save edited data to file
 * read page from data directory and emit as html
 * write handlers for various actions
 * create add_record form (using existing edit_form code)
 * write mtable.save_form() routine
 * re-write edit_form to present whole table with edit links
 * support Table internal macro, with args
 * modified backup time in file extension to be human-readable
 * wrote mtable.modify_record() routine
 * wrote mtable.remove_record() routine
 * parse and display URLs as links
 * use pages for page dressin
 * make items in table of contents into links
   * make an anchor target for each heading
   * use href for anchor target in TableOfContents macro
 * make nicer format for table of contents box
 * add search form to header
 * support multi-page table source_spec
   * support e.g. "User*" as the spec
     * read all pages starting with User
       * finish parse_table_pages() routine
         * read each page matching the source_spec
         * parse out values using a page template
           * start with simple name=value parser
     * create page on add record
     * write page on edit record
     * remove page on remove record
 * support history action
   * show history from backup times
   * allow diff between two versions

TBWiki engine by Tim Bird