Changes for version 0.26 - 2007-03-29
- modified CRUD to call from in the GEN by default
- modified CRUD to execute standard add/edit/delete on db
- added "plugins" to config block. Plugins defined will transfer to the app.server, app.cgi and httpd.conf
- All GEN base modules now have a namespace method. When you use the new plugins keyword, you get a bonus -PluginNamespace in your full use.
- Added html_form_hint field keyword. Hints show up on form.tt below labels usually in grey italics. (Thanks Tim.)
- Generated app.servers now use the Gantry Static plugin so they can serve CSS and other static content. URI /static maps to ./html dir.
- Corrected ASCII art style so it wouldn't ignore solo tables. Changed to calling ASCII art 'kickstart sytnax'.
- kickstart descriptions can now come from a file: bigtop -n AppName file.art
- There is a new table keyword refered_to_by which generates a has_many call in the model class.
- Both bigtop and tentmaker now generate add refered_to_by statements for all foreign keys.
- There are new kickstart operators *> and <*. Example invoice*>task, reads "invoice has many tasks." These are currently synonyms for <- and ->, but they may deviate in the future.
- Corrected various bugs with new kickstart features.
- limit_by now appends the parent row id to the end of all header options.
- Generated do_main's now call foreign_display only when the attribute for the foreign key in the row object is true. This prevents fatal errors when foreign keys are optional, but appear on main listings.
- main_listing methods now support order_by to control row ordering.
- app.server's now get show_dev_navigation set to 1.
- Corrected one test and removed another so changes to Gantry's sample_wrapper.tt no longer cause failures.
- CRUD forms are not generated into the GEN file, so they can be regened as the model changes. Check out Gantry::Utils::FormMunger for a convenient way to alter them in an overriden method.
- Initial Changes file now has the bigtop version number.
- vim syntax file is current again and their is now a script to create the file, so it shouldn't get out of date (unless I forget to run the script)
- There is a new doc generated from Bigtop::Keywords. It is called Bigtop/Docs/AutoKeywords.pod. It superscedes most of Bigtop::Docs::Syntax and all of Bigtop::Docs::Keywords.
- There is a new doc generated from the backends. It is called Bigtop/Docs/AutoBackends.pod. It covers some of the same ground as Bigtop::Docs::Syntax.
- There are new keywords: for fields: html_form_class, searchable for main_listing methods: livesearch, json. See Bigtop/Docs/AutoKeyword.pod.
- You can now have secondary config blocks. Each named block makes a config file or Gantry::Conf instance. Named blocks get the unnamed config info, unless they override it. Also works for controller level config blocks. Remember that CGIs can only use controller configs if they use the Conf Gantry backend.
- tentmaker now draws all Bigtop Config statements except app name directly from Keywords. Pointed out by Stas Bekman :
- Changed a test to use $^X instead of 'perl' to run perl. This avoids problems when two perls are on a box.
- Corrected TentMaker.pm change_conf which failed on some 5.8.8 installs (not including mine). Perl's $# was forcing scalar context on its arg if that arg was an array expanded into a list.
- Changed app.cgi and app.server to use $^X instead of assuming /usr/bin/perl
- Stop Server, Save As (and it's file name box) are no longer on the first tentmaker tab. They are next to the title, so they are always on the page (though scrolling up may still be required).
- Made other cosmetic changes to tentmaker to reduce scrolling.
- The bigtop source dump is now hidden by default. Click the link to show (and/or hide) it.
- Bigtop's Build.PL now uses the most recent install location for tentmaker templates as the default on re-install.
- tentmaker now asks again if you answer 'would you like to save changes?' with up arrow.
- app.server, app.cgi will always include -Engine=CGI ignoring the requested engine (this is the only engine they can run with).
- Repealed changes put in to work around a particular HTTP::Server::Simple version bug that prematurely unescaped URL elements. This corrects various problems like tentmaker failing when you try to remove a constraint.
- Entering blank (or all whitespace) values for app level statements no longer makes statements (so they can't be broken any more).
- Bad Things no longer happen when you save in tentmaker and try to keep working.
- The term kickstart is now integrated into Bigtop and its docs to refer to command line (or file) descriptions of the data model.
- The backends tab in tentmaker looks a lot better. Thanks to Stas for using tentmaker and bigtop enough to generate requests for these and for sending in those requests.
Documentation
A document explaining Bigtop's features and history
lists all backends and their config statements
Generated descriptions of Bigtop keywords
Bigtop syntax by example
a bigtop keyword quick reference in monospace font
An annotated list of modules in the Bigtop distribution
a quick reference guide to bigtop syntax
The fastest ways to Gantry apps with Bigtop
A (formerly) complete Bigtop syntax description
Table of Contents for Bigtop::Docs::* documentation modules
tentmaker reference (best viewed in html)
tentmaker tutorial (best viewed in html)
a simple case study of building a web app with bigtop
How to get vim syntax things for Bigtop files
the parser/generater for the bigtop langauge
browser based bigtop file editor
Modules
A web application data language processor
defines the legal keywords for cgi backends
A generated server for the [% app_name %] app
defines the legal keywords for conf backends
makes Config::Gantry conf files
makes Config::General conf files
defines legal keywords in control blocks
controller generator for the Gantry framework
defines the legal keywords for httpd conf backends
httpd.conf generator for the Gantry framework
Bigtop backend which works sort of like h2xs
defines legal keywords in table and field blocks
defines legal keywords in table and field blocks
backend to generate sql for MySQL database creation
backend to generate sql for Postgres database creation
backend to generate sql for SQLite database creation
Bigtop to generate site appearance files
given an AST, makes a corresponding bigtop source file
generated by Parse::RecDescent from bigtop.grammar
A central place to describe all bigtop keywords
the Parse::RecDescent grammar driven parser for bigtop files
A helper modules for command line utilities
Factory for scripts' command line and standard in handlers
handles kickstart syntax for scripts
gets its descriptions from Postgresql
A Gantry App to Help You Code Bigtop Files
keeps track of where the tentmaker templates live
Provides
in lib/Bigtop/Backend/Model/GantryCDBI.pm
in lib/Bigtop/Backend/Model/GantryDBIxClass.pm
in lib/Bigtop/Grammar.pm
Examples
- examples/Billing-Finished/Build.PL
- examples/Billing-Finished/Changes
- examples/Billing-Finished/MANIFEST
- examples/Billing-Finished/MANIFEST.SKIP
- examples/Billing-Finished/README
- examples/Billing-Finished/app.cgi
- examples/Billing-Finished/app.server
- examples/Billing-Finished/docs/billing.bigtop
- examples/Billing-Finished/docs/schema.mysql
- examples/Billing-Finished/docs/schema.postgres
- examples/Billing-Finished/docs/schema.sqlite
- examples/Billing-Finished/html/genwrapper.tt
- examples/Billing-Finished/t/01_use.t
- examples/Billing-Finished/t/02_pod.t
- examples/Billing-Finished/t/03_podcover.t
- examples/Billing-Finished/t/10_run.t
- examples/address-new.bigtop
- examples/address.bigtop
- examples/address2.bigtop
- examples/billing.bigtop
- examples/billing_model.png
- examples/checking.bigtop
- examples/kids.bigtop
- examples/phonelist.bigtop