Genny TODO List

Revised 08/14/2003

Overall Tasks

* change TabDelim-to-GennyLDD.py around line 450 to not require the data item name column
  to be blank on enumerated value rows
* add --validate-LDD option to validate LDD xml to Genny DTD 
* add --convert-LDD option just to convert 

* add file stat checks to only convert/regen LDD xml if out of date
* check for required python version in code and quit if not correct

* Modularize / change the code to OO style 
* Create a project preference file and parse /
  allow xml config xml to mirror a python dict with a simple parser->dict 
* run pychecker on all of Genny 
* package Genny, send a copy of the Code to Richard Lorens
* provide a way to specify the naming convention to use in the config file, and 
  then use that option in the code
* Write a dtd, and code to parse a configuration. Parameter file, write the code to 
  process the configuration file in genny.py
* build a list of containers that have root as a parent, apply the sequence no, to 
  the list, and process
* build a list of containers for each contained container , apply the sequence no, to the list, and process until we have no more left
* modify Genny to be xmlnamespace aware, add a parameter(s) to the GennyLDD
* write code to support an all ELEMENT style of XML
* Improve error checking, Change all errors to a set of exceptions, and write to a different 
  log file with an exception handler (one and only one Root container) 

Documentation
* docbook for Genny - start a Genny How To
* HappyDoc for python source documentation modules/classes
* Schema document - servicing mapped to schema class words
* Schema document on genny architectural approach

Output Features

DTD Generation 
* word wrap comments
* better formatting of the enumerated lists
* better layout/formatting of dtd
* for dtd gen process code in attribute style for each container set of container rows passed 
  ELEMENT and list of contained elements from the object list including sequence and cardinality
  then output the attribute for each element in the sequence, apply a sort to the
  rest of the rows

XML Sample File Generation
* ability to generate an xml skeleton 

LDD Documentation
* html LDD document(s) including xml authority pictures for each container

Schema Generation
* bring back Enumerated value data types ?
* bring back Attribute Groups for each of the element (containers)?

UML/XMI Generation
* start on XMI generation for UML model
 http://www.visualobject.com
 http://xmlmodeling.com/portal/index.jsp 
* document on mapping mismo to UML models

SQL Generation
* Isolate handling of “DEFAULT” as a container name, way to specify SQL keywords that we will mangle new names for in SQL DDL 
* Add configuration  parameter (generate sql for ORACLE| MYSQL ) 
* Modify the sql generation to use proper data types to match the data type in the LDD, we need a structure (DICT?) that map rdbms datatype to GennyLDD datatype, just declare a dict and use in the print statement
* Add a capability to look for and generically map SQL keywords in SQL generation

SAX python
* class/python class for object representation

Java JAX
- generate: java JAX data binding

Graphic Generation

* Idea – about generating SVG XML that would correspond to a graphic representation of the containers, etc. 
  http://sketch.sourceforge.net/index.html