QA Documentation Generator (XML Based Rules):
Essentially, this is an application that generates documentation like Test Plans, Test Summary documents, software designs, requirements documents, etc.

Phases:
  1. Generate a test plan based on a hard coded template, with hardcoded fields, that outputs to HTML only. Images are not supported. Rich text is not supported.
  2. Write pyunit tests.
  3. Add Rich Text Feature, and Test Summary option.
  4. Add "Save To Database" function (this requires a central database to contact, likely a mysql DB, or possibly postgres) The DB will store by Product, Release, and Type of document. (Product "VACD", Release "eventreplicator 9.1", Type "Test Plan"). Project will be definable at storage time. Class will need to be manually inserted for now.
  5. Release to public. Bugfixes Galore!
  6. Impliment PDF output. Use HTML only for preview via wxmozilla, or similar functionality, and impliment image support (via file open dialog). The image information will be stored in the database as a binary file. Preview will happen in HTML using images, as files pulled from the database, and stored locally.
  7. Define rules to be set from the database, restructure database to deal with feature requests if needed. Release code update if DB schema changed
  8. Take rules for document (requirements, headings, sections, types, information on the section, etc) from  the database. This also defines what "Type" of document it is.
  9. Impliment links to other document information. Essentially, pull information from the test plan, into the test summary, and so on. This should be inserted into the XML document as a rule ("Class global reviewers here, Test Plan Distribution list here" style). The information from previous documents should be available as any sort of information (description, example, actual information, etc.) If the information referenced does not exist, this should be noted in the GUI, and should require you to insert your own.
  10. Create web frontend to pull a document out of the database as an HTML file, and display it. Essentially, remove GUI from existing code, and just impliment the "export" feature for HTML.


GUI Framework Documentation:
wxwidgets documentation (wxpython)

HTML Generation:
makeHTML documentation

PDF Generation:
PDF Generation Library
PDF Generation Tutorial