Bigtop is a language for describing web applications with pluggable
backends for generating them. It is initially targeted
at the Gantry web framework, from the same shop where it was born.
The newest version (0.17) has been released to CPAN. There are several
notable features of recent versions, see below. The Changes file has
the full list. You need the latest version of Gantry (3.40) to use
Bigtop 0.17 most effectively.
With Bigtop 0.17 you can have a running multiple table app, with its
foreign key and many-to-many relationships in a few seconds. In a
couple more minutes you can change the default column names (and
their labels), add extra columns, and do the other things needed to
complete a database frontend. For example, the long demo movie (see http://www.usegantry.org/movies) builds a complete two table app and gives a tour of the generated code in under 6 minutes.
Even with the new ease of use, Bigtop is still a language and you can
still hack on its input source at will with your favorite text editor
or our favorite language. The new command line flags and tentmaker
features just reduce the amount of hacking required.
As always you can safely regenerate your Bigtop built applications
throughout their lifetimes, since Bigtop maintains strict separations
between the code it generates and the code you write.
Notable Features of recent releases (0.14 - 0.17):
- Command line data model descriptions via poor man's ASCII art:
bigtop --new AppName 'table1 table2<-table3'
table3 will have a foreign key to table2
- Augment existing bigtop files with new tables, with or without
foreign keys:
bigtop --add file.bigtop 'table1->new_table'
- Use --new and --add with tentmaker to edit before building.
- Better support for DBIx::Class through a new many-to-many mechanism.
Easy syntax for getting one:
bigtop --new Store 'item<->color'
- tentmaker now has even better defaults and magic. Example: change a name,
everything referring to it also changes.
- tentmaker now has a Quick Edit box to concentrate the most commonly changed descriptors in one place for each table.
- tentmaker now lets you make many table columns at once.
- Generated stand alone servers allow database connection info changes via
command line flags:
./app.server -n db_name -u db_user -p db_pass -d mysql
- There are screen cast movies you might be able to view. (They are
in QuickTime format .mov. I'm sorry I'm not savy enough to make them legible in other formats.) If viewing doesn't work, try the Do-It-Yourself
versions. Visit this URL for links to the movies:
http://usegantry.org/movies
Phil
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.