1Revision history for Perl extension Bigtop.
2
30.38 Sat Jul 10 17:02:39 CDT 2010 for CPAN distribution
4    - Corrected various pod flaws.
5    - Added a gaurd so the full bigtop test is skipped if there are spaces
6      in the path.  This finishes my work on making Bigtop work on cygwin.
7
80.37 Fri Jul 09 12:25:26 CDT 2010
9    - Add missing UNIQUE constraint generation for Postgres, MySQL, and SQLite.
10
110.36
12    - Corrected instructions for users of --mysql_help bigtop script flag.
13
140.35 Thurs Sept 3 11:26:00 CDT 2009
15    - Always include PluginNamespace in app use statement since its now
16      used by gantry as the namespace for all plugins except the engine.
17
180.34
19    - Added table level block extra_sql so models could take custom queries
20      into account.  None of the shipping backend models know what to do
21      with these yet.  Nor, does tentmaker know about them.
22    - Corrected bug which formed illegal table names for three way joins
23      requested during kickstart.
24    - Suppressed foreign_display generation during kickstart if your table
25      has no columns for it to display.
26
270.33 Sat Jul 11 10:16:26 CDT 2009
28    - Added ability to specify fields as being unique.
29    - Added gantry backend counterpart to gantry commit r1451:
30            * Skip querying of foreign tables unless a foreign key is actually
31              used on the form. This gives a huge speed increase when dealing
32              with foreign tables with many rows.
33    - Added html_form_fieldset keyword to fields. This allows you to specify
34      the fieldset to group a field into.
35    - Corrected several tests so they can pass when Gantry is not installed.
36    - Corrected some documentation related to kickstart syntax.
37    - Refactored Kickstart.pm so you can easily subclass it to control
38      what columns are placed in tables during kickstart.
39    - Backends now fire in the order they are listed, except that Init
40      backends are run again after the others (so they can build manifests).
41    - Moved build directory validation from parser to Init:: modules.
42      Default is in Init::Std.  This allows non-CPAN style builds if you
43      have your own Init:: module.
44    - Moved instructional messages from bigtop script to style files
45      (default is in Kickstart.pm).  This means exotic build styles can
46      now print their own messages.
47    - Added DB2 SQL backend.
48    - Fixed (I hope) an ordering bug in DBIx::Class model backend when
49      using InflateColumn::DateTime.
50    - Changed grammar to permit schemas in join table names.  However,
51      Model backends may not yet know what to do when schemas are present.
52
530.32 not released to CPAN
54    - Fixed long standing bug which prevented join_tables from having
55      multiple data statements.
56
570.31 Wed Jun 11 09:37:05 CDT 2008 (Not released to CPAN)
58    - Added foreign key creation for join_tables at the request of
59      Stewart Heckenberg.  (Currently PostgreSQL only.)
60    - Added add_columns field statement to support arbitrary entries in
61      calls to it for DBIx::Class usrs (notably Kevin Esteb).
62      To use it well, also add extra_components `InflateColumn::DateTime`;
63      or something similar to the Model backend block in the top level config
64      section.
65    - Updated Gantry backend control module to work with JSON 2.x as some
66      things have changed with its API. Tests were also updated to reflect
67      this change.
68    - Added pseudo column support
69        - see docs/keyword_cookbook/field/pseudo_value for documentation
70    - Update to allow labels to have single quotes in them without having
71      to be escaped.
72
730.30 Tue Aug 14 17:15:11 CDT 2007
74    - fix DBIx::Class paging routine in the generated do_main subroutines.
75    - gen_root no longer creates duplicate root config vars, in fact it
76      is completely ignored.  By default, all appropriate backends make
77      a root whenever you don't make one yourself.
78    - fixed bug with literal GantryLocations which ignored them unless
79      you already had a controller level config block.
80
810.29 Fri Jun 22 09:23:20 CDT 2007
82    - absolute paths are now used for conf file specification to aid CGIs
83      you should still remove explicit conf files and use the default
84      /etc/gantry.conf for production environments
85    - CGI scripts are now confed according to the config CGI {} block
86    - limit_by no longer causes a warning when no limit parameters is used
87    - added where_terms keyword for main listing methods
88    - added accessor keyword for table fields, to rename default DBIx accessor
89    - corrected app.server so dbpass is not always set to dbuser's value
90      thanks to Tim Allwine for pointing out the bug.
91    - Stub base modules no longer use their children.
92    - bigtop no longer prints instructions when no_gen tells it not to build
93    - kickstart syntax no longer treats id, created, and modified as a group
94      which is left out whenever you mention one of them.  Now you are
95      responsible for any that you do mention and the others are still made.
96    - when you have html_form_options, your stub model gets enough pod for
97      its tests to pass (as long as the field is in before the stub is made)
98    - bigtop with -c no longer litters on the disk if the list of things to
99      build doesn't list any valid backend types (or the word all).
100    - schema_base_class methods get POD to keep coverage tests happy
101    - tests liter less
102
1030.28 Fri May 11 14:55:26 CDT 2007
104    - added controller_config_block.ttc to MANIFEST
105
1060.27 Thu May 10 09:10:22 CDT 2007
107    - added skipinvalid flag to json converter. ( skips the orm row )
108    - added orm row to do_main data
109    - added gantry conf to generation when using kickstart file
110    - added permissions keyword controller hashref method type
111    - added support for controller_config
112
113        method controller_config is hashref {
114            literal `mykey => 'somevalue'`;
115            authed_methods
116                do_delete => ``;
117            permissions `crudcrud-r--` => admin;
118        }
119    - added support for Gantry's new row and table level permissions new
120      keywords in main listing methods:
121          header_option_perms `Special Add` => create;
122          row_option_perms `Exotic Edit` => update, `See Details` => retrieve;
123    - Change tentmaker so it uses bigtop keywords instead of labels for
124      easier movement between it an hand editing (and to consolidate book
125      chapters, eventually).
126    - tentmaker now allows you to enter import lists on all uses statements.
127    - added controller level plugins keyword (not for base controllers,
128      keep using bigtop config plugins keyword for them)
129    - fixed generated default page hit tests to use top level plugins keyword
130    - put a guard around t/bigtop/01_twotable.t so it won't be run if it
131      can't find the Gantry templates
132    - improved error message and reported line when a method block has no type
133    - moved from single quotes to q!! for legends on formsets, setting an
134      example for all users to not embed ' or " quotes in bigtop strings,
135      to reduce the risk of quote conflict with HTML quoting in tentmaker
136    - controller level configs now place any init and accessor methods in GEN
137    - taught tentmaker to think of the app level config blocks as
138      app body blocks (the App Config tab went away)
139    - taught tentmaker to handle controller level config blocks
140    - generated controller modules now use warnings
141    - fixed javascript so data statement values are properly URL escaped
142      by tentmaker (now you can include non-word chars in the values).
143    - switched default apps made with bigtop and tentmaker to new developer
144      navigation drop down menus
145    - tentmaker reports a better error when you forget the -n flag
146    - users can now supply their own default bigtop file as a TT template
147      called ./bigtopdef or ~/.bigtopdef for use with -n in bigtop
148      and tentmaker.  To revert to orignal default set environment var
149      BIGTOP_REAL_DEF to a true value
150    - corrected some generated POD so POD tests can pass
151
1520.26 Thu Mar 29 12:34:08 CDT 2007
153    - modified CRUD to call from in the GEN by default
154    - modified CRUD to execute standard add/edit/delete on db
155    - added "plugins" to config block. Plugins defined will transfer to the
156      app.server, app.cgi and httpd.conf
157    - All GEN base modules now have a namespace method.  When you use the
158      new plugins keyword, you get a bonus -PluginNamespace in your full use.
159    - Added html_form_hint field keyword.  Hints show up on form.tt below
160      labels usually in grey italics.  (Thanks Tim.)
161    - Generated app.servers now use the Gantry Static plugin so they can
162      serve CSS and other static content.  URI /static maps to ./html dir.
163    - Corrected ASCII art style so it wouldn't ignore solo tables.
164      Changed to calling ASCII art 'kickstart sytnax'.
165    - kickstart descriptions can now come from a file:
166        bigtop -n AppName file.art
167    - There is a new table keyword refered_to_by which generates a has_many
168      call in the model class.
169    - Both bigtop and tentmaker now generate add refered_to_by statements
170      for all foreign keys.
171    - There are new kickstart operators *> and <*.  Example invoice*>task,
172      reads "invoice has many tasks."  These are currently synonyms for
173      <- and ->, but they may deviate in the future.
174    - Corrected various bugs with new kickstart features.
175    - limit_by now appends the parent row id to the end of all header
176      options.
177    - Generated do_main's now call foreign_display only when the attribute
178      for the foreign key in the row object is true.  This prevents fatal
179      errors when foreign keys are optional, but appear on main listings.
180    - main_listing methods now support order_by to control row ordering.
181    - app.server's now get show_dev_navigation set to 1.
182    - Corrected one test and removed another so changes to Gantry's
183      sample_wrapper.tt no longer cause failures.
184    - CRUD forms are now generated into the GEN file, so they can be
185      regened as the model changes.  Check out Gantry::Utils::FormMunger
186      for a convenient way to alter them in an overriden method.
187    - Initial Changes file now has the bigtop version number.
188    - vim syntax file is current again and their is now a script
189      to create the file, so it shouldn't get out of date
190      (unless I forget to run the script)
191    - There is a new doc generated from Bigtop::Keywords.  It is called
192      Bigtop/Docs/AutoKeywords.pod.  It superscedes most of
193      Bigtop::Docs::Syntax and all of Bigtop::Docs::Keywords.
194    - There is a new doc generated from the backends.  It is called
195      Bigtop/Docs/AutoBackends.pod.  It covers some of the same ground as
196      Bigtop::Docs::Syntax.
197    - There are new keywords: for fields: html_form_class, searchable
198      for main_listing methods: livesearch, json.
199      See Bigtop/Docs/AutoKeyword.pod.
200    - You can now have secondary config blocks.  Each named block makes a
201      config file or Gantry::Conf instance.  Named blocks get the unnamed
202      config info, unless they override it.  Also works for controller
203      level config blocks.  Remember that CGIs can only use controller
204      configs if they use the Conf Gantry backend.
205    - tentmaker now draws all Bigtop Config statements except app name
206      directly from Keywords.
207    Pointed out by Stas Bekman :
208    - Changed a test to use $^X instead of 'perl' to run perl.  This
209      avoids problems when two perls are on a box.
210    - Corrected TentMaker.pm change_conf which failed on some 5.8.8 installs
211      (not including mine).  Perl's $# was forcing scalar context on its arg
212      if that arg was an array expanded into a list.
213    - Changed app.cgi and app.server to use $^X instead of assuming
214      /usr/bin/perl
215    - Stop Server, Save As (and it's file name box) are no longer on the
216      first tentmaker tab.  They are next to the title, so they are
217      always on the page (though scrolling up may still be required).
218    - Made other cosmetic changes to tentmaker to reduce scrolling.
219    - The bigtop source dump is now hidden by default.  Click the link
220      to show (and/or hide) it.
221    - Bigtop's Build.PL now uses the most recent install location for
222      tentmaker templates as the default on re-install.
223    - tentmaker now asks again if you answer 'would you like to save changes?'
224      with up arrow.
225    - app.server, app.cgi will always include -Engine=CGI ignoring the
226      requested engine (this is the only engine they can run with).
227    - Repealed changes put in to work around a particular HTTP::Server::Simple
228      version bug that prematurely unescaped URL elements.  This corrects
229      various problems like tentmaker failing when you try to remove
230      a constraint.
231    - Entering blank (or all whitespace) values for app level statements
232      no longer makes statements (so they can't be broken any more).
233    - Bad Things no longer happen when you save in tentmaker and try to keep
234      working.
235    - The term kickstart is now integrated into Bigtop and its docs to
236      refer to command line (or file) descriptions of the data model.
237    - The backends tab in tentmaker looks a lot better.
238    Thanks to Stas for using tentmaker and bigtop enough to generate
239    requests for these and for sending in those requests.
240
2410.25 Thu Feb 15 11:12:12 CST 2007
242    - added hints to the form field properties
243    - Increased Test::Files build requires version number to 0.13 in Build.PL.
244      Without that some tests fail for lack of file_filter_ok.
245    - Made the bigtop test's file test stripper more aggressive.  It now
246      eats author lines since they are rarely the same.  (Are you Phil Crow?)
247    - Updated lots of docs.
248    - Changed generated root path to html:html/templates to facilitate use
249      of Gantry's Static plugin with generated stand alone servers.
250
2510.24 Wed Feb 14 12:50:24 CST 2007
252    - Taking advantage of Test::Files new (as of 0.13) file_filter_ok, I
253      removed that last year dependent test.
254    - Fixed Control and Model backends so they can handle new refers_to
255      values.  This was fatal to any bigtop file with refers_to table => col.
256
2570.23 Tue Feb 13 16:10:32 CST 2007
258    - Finally moved all Docs modules from .pm to .pod so the PAUSE indexer
259      will know they are docs and not code files.
260    - tentmaker now updates field names in the expanded edit box when they
261      are changed in the quick edit table.
262    - ASCII art now supports declaring a column optional in HTML forms and/or
263      giving it a default value:  tbl(+optional_col,col_with_default=12).
264      These may be combined: tbl(+opt_w_def=value).  Note: All defaults must
265      be strings or numbers and cannot contain spaces, colons, commas, equals,
266      etc.
267    - SQL backends now make genuine foreign keys from the new pair form of
268      refers_to: refers_to table_name => col_name.
269    - There are two new keywords for REFERENCES clauses: on_delete and
270      on_update.  Using them will add ON DELETE and or ON UPDATE clause(s)
271      to the end of generated REFERENCES statements.  These do not apply
272      to SQLite, since it doesn't honor them.
273    - Both bigtop and tentmaker now use SQL foreign keys for all script help
274      styles.
275    - Fixed bug which prevented tentmaker from displaying paired values
276      containing double quotes.  Tried not to make things worse in the process.
277
2780.22 Thu Feb  8 14:25:30 CST 2007
279    - Calling tentmaker with -a and a missing or unreadable file is now fatal.
280    - tentmaker now trims leading and trailing space from ASCII art before
281      using it.
282    - Extra fields in join tables now show up in the model, not just in SQL.
283    - ASCII art now supports field names and types, try:
284      bigtop -n Address 'child(name,birth_date:date)->family(names,email)'
285      works with -a and -n in bigtop and tentmaker.
286    - You can design your own ASCII art replacement.  See
287      Bigtop::ScriptHelp::Style for details.  Use -s YourStyle to access it.
288      Bigtop::ScriptHelp::Style::Pg8Live is an example.
289    - There is a -s style for postgres 8:
290        bigtop -n AppName -s Pg8Live 'dbi:Pg:dbname=adb' user pass [ schema ]
291      it supports column types, defaults, primary keys (including multi-col),
292      foreign keys (single col only).  Schema defaults to public.  All tables
293      must live in the same schema.  No join_tables are ever made.
294
2950.21 Mon Jan 22 09:56:44 CST 2007
296    - Added data statements and field blocks as legal join table constructs.
297      tentmaker does not know about them.
298    - bigtop --create now gives the same advice that bigtop --new does.
299      Both also try to build your SQLite database if that makes sense.
300    - Corrected default generated tests so their root path is html/templates.
301    - Init Std's Build.PL uses the new Gantry::Build (minimum Gantry: 3.46).
302    - Deparser works as cleanly for join tables as for regular tables.
303    - tentmaker now does some magic when fields are deleted.  It removes
304      them from foreign_displays, fields or all_fields_but lists, and
305      main listing cols lists.
306    - Added model methods NAME_display for non-foreign key fields whose
307      values are selected from html_form_options.
308    - Taught generated do_mains to use NAME_display methods to show
309      the same labels users chose on forms for non-foreign select fields.
310    - Taught bigtop and tentmaker about Gantry Control's new
311      html_form_raw_html statement.
312    - There is a new main_listing method keyword: limit_by.  It is the name
313      of a foreign key column.  If a parameter is passed to do_main, only
314      rows associated with that foreign key value appear.  No paramater
315      yields old behavior.  See examples/kids.bigtop.
316    - tentmaker now allows data statement editing for regular tables
317    - Attempted to address HTTP::Server::Simple's new behavior of unencoding
318      slashes in URL elements.  More work is needed here (leading slashes
319      in values are still lost, for some versions of HTTP::Server::Simple).
320    - Added keywords and generation for Gantry's new (mod_perl 2 only)
321      SOAP plugin.
322
3230.20 Thu Dec  7 13:50:02 CST 2006
324    - Corrected bug in many-to-many generation for DBIx::Class.
325    - Corrected doubling of quotes on deparse when there are colons and
326      other unsafe characters (it worked if you only had colons).
327    - Corrected bug which prevented rel_location from showing for AutoCRUD
328      controllers.
329    - Corrected conflict between where genwrapper.tt was generated and
330      where Build.PL expected it to be during install.
331    - Moved Billing-Finished example under Bigtop::Example:: namespace
332      so the CPAN indexer knows who it belongs to.
333    - tentmaker got a -h help message.
334    - tentmaker no longer looks under every rock for backends, making it
335      start much faster.  It only looks under the path where Bigtop.pm lives.
336    - Corrected generated CRUD's do_edit so it doesn't expect you to be
337      using Class::DBI.
338    - tentmaker's Stop Server confirmation now respects Cancel.
339
3400.19 Wed Nov  8 12:31:31 CST 2006
341    Highlights:
342    * table names can now have schema prefixes: sch.tbl
343    * t/10_run.t is now gen output (not a stub any more)
344    * tables can have 0, 1, or more primary key columns
345    * support for improved Gantry::Conf
346    * all init files except MANIFEST are now stubs
347    * main listings can now be paged (instead of showing all rows)
348    * one controller can be of type base controller to control AppName.pm
349    * tentmaker has a stop server button, use it an never be fooled by
350      javascript into thinking the server is up when its not
351
352    * Added support for table names with schema prefixes and schema blocks
353      (but only Postgres really has these).
354    - Removed Model Gantry backend.  It (and the models themselves) are
355      not really maintained and it was starting to show.
356    * Changed Gantry Control backend so it updates t/10_run.t instead of
357      considering it a stub (it now agrees with various docs).
358    - Added skip_test controller statement, use it to opt out of t/10_run.t.
359    * Attempted to add support for tables with no primary key and
360      tables with multi-column primary keys.  The SQL works, but I haven't
361      tried an app with these features.
362    * Converted to new Gantry::Conf style.  Choose the Conf Gantry backend,
363      supply your instance there, then check Use Gantry::Conf in CGI Gantry
364      or HttpdConf Gantry.
365    - Added support for Gantry's new html_form_type display and its cousin
366      html_form_foreign.  display fields are shown on the input form as
367      plain text (not in input elements).
368    - Cosmetic improvements to generated Changes and README files.
369    * All the plain files Init Std generates are now stubs except MANIFEST.
370      no_gens for each file are now unneeded except for MANIFEST.
371    - Added a stop server button to tentmaker.  If you shut down that way,
372      the browser will prevent you from trying to use the deceased server.
373    - Stopped generating use_clean_dates for CRUD object constructors since
374      it is superceeded by default cleaning of params.  (Use
375      turn_off_clean_params => 1 and use_clean_dates => 1 for the old way.)
376    - Suppressed javascript errors in tentmaker when changes could have
377      cascaded but didn't.
378    * Added paging to main listings upon request.  Use rows or paged_conf
379      method statements to enable it.
380    * There is now a:
381        controller is base_controller { ... }
382      block so you can put methods into the base module.  There are two
383      method types specially designed for it: base_links (a do_main with
384      nav links to other pages) and links (a site_links method other
385      controllers, or their templates, use to generate nav links).
386      But, you can use these for one table/one controller apps.
387    - tentmaker now only displays input boxes for controller and method
388      statements if the type of method or controller understands the
389      statement.  TODO: Changing types requires a manual refresh.
390    - Corrected a critical and long standing bug with the urgency color
391      of tentmaker created join tables.  Everyone will be happy to know
392      that both table boxes are now red.
393    - Added gen_uses and stub_uses statements for controllers.  You can
394      still use uses to put the use statement in both.  None of these
395      alter an existing stub.
396
3970.18 Wed Oct  4 15:07:47 CDT 2006
398    - Corrected fatal bug in -a flag for scripts when the bigtop file had an
399      existing join table.
400    - Corrected test bug which depended on the load order of backends by
401      tentmaker.
402    - Corrected fatal error with bigtop -n which created unparsable bigtop
403      code when foreign key targets had underscores.
404    Thanks to Paul Espinosa for noticing these bugs.
405
4060.17 Mon Oct  2 09:50:12 CDT 2006
407    - There is a new Backend: Conf Gantry.  It makes files ready for
408      immediate deployment to /etc/gantry.d when /etc/gantry.conf has an
409      include /etc/gantry.d/*.conf.
410    - Corrected tentmaker error which did not allow proper creation of new
411      config variables.
412    - Added html_form_default_value as a legal field statement.  Gantry form
413      templates already understood it.  It's now in tentmaker's quick edit.
414    - Several statements now pretty print (a little bit) on deparse.
415    - Improved maintainability of AJAX expected response test files.
416    - Corrected Postgres SQL backend's datetime type.
417
4180.16 Mon Sep 25 09:57 CDT 2006
419    - Added a field set label to default form methods.
420    - Corrected tentmaker error which caused tentmaker to dump its Quick
421      Edit box when new fields were made.
422    - Converted many tentmaker tests to check the AJAX response rather
423      than just the deparsed tree, this would have caught the previous error.
424
4250.15 Thu Sep 21 12:29:17 CDT 2006
426    Highlights:
427        many-to-many support for DBIx::Class
428        ASCII art for specifying table relationships try:
429            bigtop -n AppName 'pos->job job<->skill'
430        augment an existing bigtop file with bigtop and tentmaker flags
431        Gantry controllers now have (a few) generated page hit tests
432        tentmaker...
433            has a new Field Quick Edit box for its most common edits
434            allows multiple fields to be made at once
435            has much more magic to save even more time
436        stand alone servers have flags to change database connection info
437
438    - Added support for three way joins (many to many) relationships
439      for dbix class models.
440    * Added ASCII art input to bigtop script, try this:
441        bigtop -n AppName 'pos->job job<->skill'
442      You get four tables: pos, job, skill, and job_skill with a reference
443      column in pos storing a job id and a many-to-many between job and skill.
444    * Added --add flag (aka -a) to bigtop script:
445        bigtop -a docs/yourapp.bigtop 'app->pos resume<->app'
446      adds app and resume tables and controllers plus a resume_app joining
447      table.
448    * Applied --new and --add flags to tentmaker in exactly the way
449      they apply to bigtop (they even share the implementation code which is
450      factored out into Bigtop::ScriptHelp).
451    - Comments are preserved on deparse, meaning they will survive a
452      trip through tentmaker.  This also facilitates the --add flag.
453      One caveat: if you have blank lines or split long statements across
454      lines, comments below that point will be shifted down in the output,
455      but at least they won't be summarily deleted.
456    - Corrected the error message when app level block names are omitted.
457    * Expanded generated stand alone servers so you can change database
458      DBDs, names, user names, and/or passwords with command line flags.
459      Editing the generated app.server makes it easy to change the defaults
460      (then you should turn probably off generation of it).
461    - Sequences are no longer generated by default.
462    - Navigation links are now generated in the site_links method of the
463      base module.
464    - Defaults now always call the database app.db.
465    - Base modules now come in stub and GEN pieces so their nav links
466      can be regenerated.
467    - DBIx::Class schema modules are now split into stub and GEN pieces
468      so the GEN piece can be regened when new tables are added to the
469      data model.
470    * When you change the name of table in tentmaker, the controller now
471      updates its controls_table statement (but not its own name).  Foreign
472      keys pointing to the table have their refers_to statements updated
473      (but not their own names).
474    * When you change the name of a field in tentmaker, it now walks the
475      parse tree updating that name wherever it occurs (including: the
476      label of the field, the cols of the controller's main_listing,
477      the controller's form method, and the foreign_display).
478    * The Gantry Control backend now makes more tests.  There are pod
479      and pod coverage tests (which require have Test::Pod and
480      Test::Pod::Coverage).  There is also a file of run tests which use
481      Gantry::Server to test front page hits of each generated controller.
482    * tentmaker now has a quick edit box with a row for each field allowing
483      one small place to modify a lot of important data.  Any field keyword
484      will show in the box, if it's Bigtop::Keywords entry has a quick_label.
485    * tentmaker now allows multiple fields to be constructed at once, simply
486      separate them with spaces in the Name(s) box.
487    * When a field's SQL type becomes date or it has date_select_text
488      set on it in tentmaker, everything is done to make the Gantry
489      easy date scheme work.
490    - Gantry stub controllers finally inherit from their gen modules.  This
491      allows overriding gen methods without hastle and easier use of plugins
492      provided by the framework (which are themselves mixins).
493    - Killing the tentmaker now prompts to ask if you want to save changes.
494    - Corrected long standing (but unnoticed) bug which would build in
495      the wrong directory when base_dir is used without app_dir.
496    - Added controller level config block support to deparser so they
497      can pass undisturbed (save whitespace normalization) through tentmaker.
498    - Simplified the abstract syntax tree and standardized the naming of
499      various elements in it.
500
5010.14 Wed Aug 16 16:20 CDT 2006
502    Highlights:
503    1. Quicker app generation in two ways.
504        Way 1 (if you have sqlite installed):
505            bigtop --new App table1 table2
506            cd App
507            # create database
508            # populate database from docs/schema.yourdb
509            ./app.server
510
511        Way 2:
512            tentmaker
513            on app body tab create table1 and table2
514            save as file.bigtop
515            bigtop --create file.bigtop
516            cd Sample
517            sqlite app.db < docs/schema.sqlite
518            ./app.server
519    2. DBIx::Class support
520    3. All around better defaults
521
522    - Changed the full use default, moving it from true for Gantry controllers
523      to being true for Gantry HttpdConf.
524    - Converted to DBIx::Class (was Class::DBI::Sweet) for tentmaker default.
525    - Corrected error that left Gantry AutoCRUD forms for DBIx::Class
526      failing to pass the schema object to get_form_selections.
527    - Added instance keyword to HttpdConf Gantry backend, which works
528      like the same keyword in the CGI Gantry backend.  Both of them allow
529      you to get the proper GantryConfInstance definition for use with
530      Gantry::Conf.
531    - Added conffile keyword to HttpdConf Gantry and CGI Gantry backends.
532      Use it with instance to specify a replacement for /etc/gantry.conf.
533    - Continued deprecation of methods called _form by adding a warning
534      when you use that name for a CRUD or AutoCRUD form in your bigtop file.
535    - Added gen_root keyword for CGI Gantry, HttpdConf Gantry, and
536      Conf General backends to take advantage of Gantry's new Init module,
537      which keeps track of root paths for us.  Only the app root path is
538      needed adding gen_root inserts one with relative path html.
539    - SiteLook GantryDefault now has a default gantry_wrapper formed
540      from Gantry::Init::base_root . '/sample_wrapper.tt'
541    - Fixed bug in mysql and sqlite backends.  They no longer generate
542      create sequence statements.
543    - Added optional tables to bigtop --new.  If you supply them you get
544      a running app immediately after generation (but remember to make
545      the database before trying to run it).
546    - Silenced warnings from MySQL and SQLite SQL backends when the input
547      has sequence blocks, which they ignore.
548    - Started using the getpwuid approach of h2xs when no author info is
549      available.
550    - Base modules now have do_mains showing links to all the pages which
551      have page_link_labels.  All controllers generated by bigtop --new
552      have those labels, so out of the box apps have good do_mains.
553    - Greatly improved defaults in tentmaker, among the changes:
554        author is omitted so it can be generated in the manner of h2xs
555        SiteLook GantryDefault backend no longer has a gantry_wrapper path
556        making a table now automatically makes a corresponding controller
557        auto-made controllers have:
558            statements: controls_table, rel_location, text_description,
559                        page_link_label
560            methods: do_main, form
561        making a sequence now automatically makes a table and a controller
562        auto-made tables have sequence statements
563      All this means that by starting tentmaker and creating only a table
564      on the app_body tab, you can save and get a running app in 3 steps.
565    - Removed Class::DBI specific generated code from Control Gantry backend
566      (it was a set of skeletons to use with Gantry::Plugins::CRUD).
567      Now you get comments telling you what to do, you do it for your ORM.
568    - Added site_links methods to base modules.
569    - Corrected TentMaker module to be less unix specific.
570    - Dropped blib/lib from use lib statements in app.server.
571    - Removed CDBI specific code from crud methods, now you just get comments
572      suggesting what you need to do.
573    - Added advice message to bigtop when you create a default app.
574      It tells you how to start the app.
575
5760.13 Fri Jun  9 08:08:16 CDT 2006
577    - Made it possible for compatible backends of the same type to all
578      generate.  For instance, this allows you to generate all types of SQL
579      schema at once.  Note that most backends still can't work together
580      since they want to write the same file (like models and controllers).
581    - Converted authors app level keyword to allow name => user@example.com.
582    - Since the above change left the app level keyword email unused,
583      I changed it to contact_us which now makes a CONTACT US POD section
584      in the base module with whatever you want to appear there.
585    - Added docs to Bigtop::Keywords explaining how to add your own keywords.
586    - Tried to hide the AST package statements from the PAUSE indexer
587      without hiding them during vim folding.
588    - Added pair_required to Bigtop::Keywords keys so we can support things
589      like Gantry main listing header_options.
590    - Added config level model_base_class keyword to each Model backend.
591      This allows you to control it once for all tables, but still lets
592      individual tables override it with their own table level model_base_class.
593    - Corrected the javascript error that was preventing screen updates for
594      App Body block deletions.  There is a remaining problem: the visible
595      whitespace gap sometimes grows with each deletion (this affects only
596      the on screen appearance, so it is completely consmetic).
597    - Added POD to generated model modules.  It should be enough to silence
598      POD tests.
599
6000.12 Tue May 23 10:58:22 CDT 2006
601    - Added create_makefile_pl => 'passthrough', to Build.PL so users relying
602      on make (aka CPAN shell users) can install without so much hastle.
603    - Corrected images links in the tentmaker tutorial (thanks Krassi).
604    - Added support for DBIx::Class.
605    - Updated MANIFEST and made it agree with what is checked into svn.
606
6070.11 Wed May 17 12:48:11 CDT 2006
608    - Added skips so gantry controller tests won't fail when
609      Gantry::Plugins::AutoCRUD is not installed.
610    - Added Bigtop::Docs::TentTut a screen shot laden tour of app building
611      with tentmaker.
612    - Added a backend to make SQL for MySQL.
613
6140.10 Fri May 12 14:50 CDT 2006
615    - Added Test::Files to build_requires list.
616    - Added a backend to make SQL for SQLite.
617    - Added a --help message to bigtop script.
618
6190.09 Wed May 10 10:41:49 CDT 2006
620    - Improved Build.PL so it won't try to install tentmaker templates
621      without Gantry.
622
6230.08 Wed May 10 07:47:23 CDT 2006
624    - Improved the usability of tentmaker (I hope) by putting former tooltips
625      into boxes which are always visible and expanding and clarifying the
626      text in those tips.
627    - Changed the name of the generated default wrapper to genwrapper.tt
628      so that users of bigtop never again see the wrapper.tt which ships
629      with gantry.
630    - Added support for app level literals to tentmaker.
631
6320.07 Fri May  5 15:39:16 CDT 2006
633    - Added server_port statement to CGI Gantry backend so you can
634      decide on a test server port in advance.
635    - Removed two unitialized value warnings from GantryDefault Sitelook
636      backend.
637    - Factored backend loading out of gen_from_string so other Bigtop::Parser
638      routines can share it (think parse_string).
639    - Corrected syntax errors in generated CRUD helper methods.
640    - Added TentMaker.
641    - Implemented deparser (first draft) to support TentMaker.
642    - Moved all backends into the Backend namespace.
643    - Added documentation methods to all backends, so TentMaker can describe
644      what they do for its users.
645    - Factored out grammar from Bigtop::Parser and had Parse::RecDescent
646      precompile it.  This results in almost a four fold speed savings
647      in the test suite.  It should give a similar savings to invocations
648      of bigtop and tentmaker.
649    - Made generated stand alone server accept its port from the command line.
650    - Added blib/lib and lib to the stand alone server's path.
651    - Made table_element_blocks and field_statements optional.
652
6530.06 Thu Mar 23 08:26:46 CST 2006
654    - Added use_clean_dates to the options generated for crud constructor
655      calls when a controller's type is CRUD.
656    - Corrected CRUD do_add, do_edit, and do_delete so they call CRUD
657      methods through the correct object.
658    - Made CGI backend respect literal PerlTop statement, so you can put
659      use libs into the top of the generated CGI script just as you do
660      in the top of the <Perl> block of httpd.conf for mod_perl.
661    - Added explicit import list option to uses statements in controller
662      blocks generated by Gantry Control backend.
663    - Improved error messages when block names or keywords in the
664      grammar (like literal) are misspelled.
665    - Made literal types into bonifide keywords of app_literal and
666      controller_literal type, so better error messages result when
667      the keywords are misspelled and better docs exist about who
668      defined which literal type.
669    - Changed set_vars block keyword to config to make it more independent
670      of mod_perl.  set_vars is retained as a synoym for legacy bigtop
671      files, but is no longer documented for use (expect a mention
672      in the Syntax doc, where it is marked deprecated).
673    - Added html_form_constraint as a field statement which Control
674      backends should use to supply Data::FormValidator constraints.
675    - Made the Gantry Control backend respect html_form_constraint.
676    - Made vim folding optional in the bigtop.syntax file.  To get it,
677          let bigtop_fold=1
678      in your .vimrc file.
679    - Added skip_config statement to Bigtop::HttpdConf::Gantry backend,
680      so you can still get httpd.conf locations, but have your conf
681      in some other place (like a Gantry::Conf Config::General flat file).
682      If you still need a PerlSetVar like GantryConfInstance, use a
683      literal statement.
684    - Added Bigtop::Conf::General to write Config::General style conf files.
685    - Gantry base modules now have their init commented out if it would
686      only defer to Gantry.pm via SUPER.
687    - Added with_server statement to Bigtop::CGI::Gantry which makes
688      a Gantry::Server based stand alone server for the app.
689      Using it saves configuring apache.
690    - Added new lines after literals which don't end in whitespace.
691    - Added support for Gantry::Conf to the CGI Gantry backend (use
692      the instance keyword).
693
6940.05 Wed Feb  1 14:15:33 CST 2006
695    - Added support for new Gantry::Utils::Model
696    - Removed no_accessor set vars from init methods at the app level.
697    - Removed no_accessor set vars from init methods at the controller level.
698    - Removed int as a shorthand for int4 in postgres backends.
699    - Added model_base_class keyword at the table level and made
700      Bigtop::Model::GantryCDBI pay attention to it.
701    - Made Bigtop::Model::Gantry pay attention to model_base_class.
702    - Corrected models made by Bigtop::Model::Gantry to conform to the
703      current (experimental) Gantry::Utils::Model.
704    - Fixed CRUD_form method type in Gantry control generation so it
705      include the row (fished out of $data)
706    - Filled in get_quoted_columns method in B::M::G.
707    - Added PerlTop literal block so use libs can appear in <Perl>
708      blocks before the first use statement.
709    - Fixed B::M::Gantry to use fully qualified foreign table names when
710      fetching foreign objects.
711    - Made bigtop script delete _Inline (if its in the current directory)
712      by default and added a flag (--keep_inline or -k) for keeping it.
713    - Greatly expanded the amount of code generated for Gantry::Plugins::CRUD.
714      Users get this extra code by setting the controller type with is CRUD.
715    - Changed from mixin to inheritence scheme for cdbi models.
716
7170.04 Tue Jan  3 16:04:56 CST 2006
718    - Made extra_args behave as Bigtop::Control::Gantry's docs say it should.
719    - Cleaned handling and error messages surrounding base_dir and app_dir
720      config statements.
721    - Documented --create's treatement of base_dir and app_dir.
722    - Added -c as an abbreviation for --create.
723    - Added not_for keyword for table fields, made the cdbi model pay
724      attention to it, so we can have a non-key id fields in the database,
725      but leave it out of the model (which would choke on it).
726    - Added not_for keyword for tables, made cdbi model pay attention to it,
727      so we can support users who like to edit GEN modules.
728    - Made postgres SQL backend respect not_for keyword on tables, allowing
729      models to be made for tables that will be created with something other
730      than the generated schema.sql.
731    - Added generation of CRUD_forms for the recently added
732      Gantry::Plugins::CRUD.
733    - Added --new as an option to bigtop script.  It makes the directory
734      structure for a new app from scratch.
735    - Made Bigtop::Control::Gantry respect method level no_gen.
736    - Added literal statement at app level and made Postgres backend
737      honor it.
738    - Made Gantry::HttpdConf honor literal statement at app level.
739    - Added literal statement at controller level and made Gantry::HttpdConf
740      honor it.
741    - Renamed app level url to location.
742    - Renamed controller level url to rel_location and introduced the new
743      controller level location.  The former are relative to the app location
744      while the latter are absolute.
745    - Added controller level set_vars block.  Made B::HttpdConf::Gantry
746      and B::Control::Gantry backends honor it.
747    - Added col_labels to Gantry main_listing methods in B::C::Gantry.
748
7490.03 Tue Dec 13 08:59:34 CST 2005
750    - Made corrections pointed out by using bigtop to make a second,
751      more complex app.
752    - Changed the name of the generation script to simply bigtop.
753    - Added vim syntax highlighting file to distribution.
754    - Made the gantry control generator quieter (it no longer tells
755      you about every file it decides not to overwrite).
756    - Made the cdbi model generator quieter (it no longer tells
757      you about every file it decides not to overwrite).
758    - Made it legal to define a controller with an empty block.
759    - Discarded GENed controllers that have nothing in them and kept all
760      references to them out of the corresponding stub.
761    - Added --create flag to bigtop script and now ignore (with a warning)
762      base_dir and app_dir in bigtop files when the new flag is not used.
763
7640.02  Fri Oct 28 07:37:37 CDT 2005
765    - Made all the corrections pointed out by using bigtop to
766      make a production app.
767    - Expanded (or wrote) documentation of the modules.
768
7690.01  Thu Sep 15 09:05:07 2005
770	- original version; created by h2xs 1.23 with options
771		-AXn WADL
772    - manually converted to use Module::Build
773
774