BoltWire

Innovative Ideas :: Radical Results!

INFORMATION

DOCUMENTATION

SOLUTIONS

Roadmap

After a long line of 3.xx development (not to mention the 2.xx, 1.xx, beta, and alpha development releases), BoltWire has finally released 4.xx in beta. The two guiding principles in this new release were

(1) to eliminate unnecessary features and dramatically simplify the core, and
(2) to significantly increase real power and flexibility in the core systems.

Because this upgrade is experimental and there is not an easy migration path at this point, we recommend using 4.x on new sites, and not for existing sites.

BoltWire will still be the same engine you have grown to know and love, only significantly leaner (by 30%) and meaner (in some really cool ways). Enjoy!

CHANGES FOR NEXT RELEASE

NEW FEATURES
There are lots of new features in BoltWire 4.xx, some of which were the reason for this massive code rewrite. Listed below are some of the more important ones:

Forms
  • Can now do full filtering of form posts using required, filter=filtername/regex pattern, case=, trim, and other options. Right in the input markup
  • Can now put arg parameters right in commands just like in functions. Note "session" replaced by "command" in markup. Makes it amazingly easier to simplify commands, and no name conflict between posts and commands. No more cumbersome boltcommands and things to solve recursive problems.
  • Added a passform command which passes form fields invisibly between pages.
Boxes
  • Powerful Box function which allows type=code,html,markup,comment rule= lines= etc and other parameters. Fully stylable. Rules can be used in comment boxes to limit markups very effectively
InfoVar Arrays
  • Info Vars can now be split using "field: var1::var2::var3" and retrieved using {page::field::2}
  • Allows for some incredibly fast data crunching reports.
Code.Settings
  • Added a new page for setting up system wide variables (and code) very easily in your site. Available in skins also. Very cool!
Improved Conditionals
  • If statements are now fully nestable up to 9 levels. :)
  • If parameters can be put in commands, functions, searches, etc.
Stamps
  • Completely redesigned and simplified. Cut out the problematic diff code. Now can access stamped data or content directly, and easily.
Help System
  • Deleted old clunky help system and replaced with a simple help action
  • Added several help pages to easy new users into using BoltWire. May expand this via a plugin.

FEATURES DROPPED
A real effort was made to drop out peripheral functions that only complicated the code or could be handled fine in a plugin. This list is probably not exhaustive:

  • Can no longer have config arrays like skin:color: blue. Just use skin_color: blue
  • Code pages and others no longer not configurable. Can put in subfolders.
  • Field folders: files, pages, etc no longer configurable. Removing these options just simplifies the code significantly.
  • Blacklisting and Whitelisting removed (can be done as plugins).
  • Caching switched to a VERY clever little plugin.
  • Various functions and commands are deleted. You'll have to look to see which.
  • Interwiki is no longer in the core
  • Wikiwords is no longer supported.
  • Stripped out changelogs, author and other unnecessary data variables from pages to keep pages lean. Add back if you want them.
SKINS MARKUP TABLE

PLUGINS
Plugins can be run out of the shared/plugins directory or your local config directory. For the latter set localPlugins: true in site.config and they are automatically copied over.

Plugins now must be installed manually via site config and extracting zip pages. IE, no plugins command, backup, restore, overwrite, etc. Keep it simple!

Note: Numerous functions, processes, variables names, etc., in BoltWire have been changed. Many, if not most plugins will probably need to be rewritten. :(

DEVELOPER NOTES
If you develop plugins or write custom scripts for your site, you should know 4.xx represents significant change. I've tried to jot down some of the changes but there were hundreds of simplifications. Anyway, be prepared to test all existing scripts for functionality, esp in any kind of mission critical website. Here are what notes I have:

Copyright © 2013, all rights reserved.