Dragonfly builtin plugins | Dragonfly web framework
Builtin Plugins
So what functions are available to you? Dragonfly has a core set of contexts and functions that are always available (in the lib folder). Its plugins (located in dragonfly-framework/plugins-[in]active) provide additional functionality:
Dragonfly Database
Dragonfly includes its own generic database access interface called DF.DB. It serves as an alternative to the individual database wrappers included as part of newLISP's standard modules.
DF.DB aims to provide a high-quality, efficient, and standard interface to various databases. Currently only SQLite3 is supported but more databases are on their way. You are welcome to use newLISP's various database modules as well.
DF.DB also comes with a very basic ORM layer called DB.OBJ.
You can find it in the plugins-inactive/db folder. The API is available here.
Dragonfly SMTP
Dragonfly includes its own SMTP plugin which builds and improves upon the SMTP modules that come with the standard newLISP distribution. Dragonfly's SMTP module has the following advantages over the SMTP modules that come with newLISP:
- Full support for proper encoding of UTF-8 strings
- Improved interface and implementation for handling attachments
This plugin (like all optional plugins) is located in the plugins-inactive folder. The API is available here.
Dragonfly's example-site functions
These include all of the files in the plugins folders that begin with dragonfly_. They are used by this website to various conveniences and demos. Some of their functionality includes:
- Creating links between views
- Examples for using:
- sqlite3
- parsing feeds
- AJAX with jQuery
Artful Code Modules
Dragonfly includes several of Jeff Ober's Artful Code modules, including functions for:
- Session management
- JSON parsing and creation from newLISP lists
- Various utility functions for web-based programming
- Generating HTTP requests
- Encoding and decoding HTML entities
Have a look in the plugins-inactive/artfulcode folder to see the included ones. Documentation for all of Jeff's modules can be found here.
Misc
Additional plugins include:
- nldb.lsp - a simple list-based database by cormullion
More Plugins
Modules make for excellent plugins! There's a list of available modules on newLISP's site. The newLISP distribution comes with a bunch of them, including functions for cryptography, SMTP, databases, and more!
Watch this space for Dragonfly specific plugins as they become available.
If you have a plugin you'd like to contribute, let us know on the newLISP forums!