Wednesday, August 17, 2011

I wish I had a flux-capacitor...

After building a dozen or so generators for the dxContent Generator Library and countless test generators, I've become unhappy with one aspect of Table Runner.

I'm not happy with the USES TABLES command. For those who haven't ventured into Table Runner yet, its a statement that lets the parser know exactly what tables the script will be calling. Its also important when DISTRIBUTING generators (Distributing is embedding generators in other web pages or making them available in the dxContent Generator Library).

Why am I unhappy with it? Its prone to human error. It's easy to forget to change the reference when you rename a table. It should all be key-based and happen automatically behind the scenes. Whatever tables I have loaded into Table Runner should just get linked with the script. When the future enhancement goes in that allows sharing tables across projects "linking all present" will be essential.

So, I'm looking to re-code some things so that the concept of USES TABLES all happens behind the scenes and frees the developer from the burden of writing it. If only I had Doc Brown's DeLorean - I could go back and warn myself (and catch a little MTV back when it really was MTV - but then I'd run into Biff and things would get messy I'm sure).

So this is the next big change for dxContent - not much "wow" for the end user, but important.

  • I've fixed a bug I found in the Generate~ function while working on the Dice Bag generator. the Generate function allows you to delay the creation of content until the user clicks on it.
  • I've tweaked the Log~ & LogNew~ functions. They were automatically putting a return after every update to the log... which is annoying if you want your log additons to be on one line. Its better to put the responsibility for returns on the developer (use {CR~}, {CarriageReturn~} or simply the HTML
    tag for that when you need to start a new line).

No comments:

Post a Comment