At least 15 new plugins saw their first CPAN release in 2016 bringing the total number of Dancer2 plugins beyond the 70 mark.
2016 also saw many plugins converted to the new
Plugin2 architecture. When
using the new Dancer2::Plugin plugins can now use other plugins and have
their DSL directly available. At the last count 20 plugins have been released
Plugin2 but there is still work to do. If you want to help out
checkout the related
Thankyou to everyone for contributing your code, and your time, to help make the Dancer2 ecosystem even better.
Mario Zieschang gave us Dancer2::Plugin::Auth::ActiveDirectory in April. Thanks Mario!
I haven't played with this one myself as I don't have any Windows servers but it could be a good option for AD environments. See also Dancer2::Plugin::Auth::Extensible::Provider::LDAP.
In October Jason Lewis asked about an IMAP provider for Dancer2::Plugin::Auth::Extensible on the #dancer IRC channel. I like a challenge so decided to create one that afternoon. The result was released as: Dancer2::Plugin::Auth::Extensible::Provider::IMAP.
Although this existed in a git repo, it had no tests, was AD-specific and was not released to CPAN. In October I released a shiny new Dancer2::Plugin::Auth::Extensible::Provider::LDAP which tries to be a little more LDAP server agnostic (and also has a good number of tests). Thanks to J. Stebens (corecache) for feedback and testing it against OpenLDAP.
Released whilst this article was being written on 29th November by Константин Матюхин (KVENTIN), Dancer2::Plugin::Auth::SAFE brings authentication via Thomson Reuters SAFE SSO to your Dancer app.
Need a simple and flexible cart in your Dancer2 app? Need something that can work with a new or existing database? Maybe the new Cart plugin is for you.
Andrew Baerg and Ruben Amortegui made the first release of Dancer2::Plugin::Cart in July, and Andrew went on to give a talk about it at the Perl Dancer Conference in Vienna in September. You can find a demo app that Andrew created for his talk on GitHub.
I'm not completely happy with the internals of this thing but I needed it in a hurry and hopefully I'll find time soon for a cleanup. Released in April, you can find my conference talk here.
Rakesh Kumar Shardiwal's Dancer2::Plugin::EncryptID, released in July,
makes it easy to obfuscate internal IDs when using them in a URL given to
users. Instead of seeing
http://example.com/item/42 users will instead
http://example.com/item/c98ea08a8e8ad715. This prevents nosy users
from trying to iterate all items based on a simple ID in the URL.
Theo van Hoesel released Dancer2::Plugin::HTTP::Auth::Extensible in January. This plugin is a fork of Dancer2::Plugin::Auth::Extensible but with authentication via WWW-Authenticate header instead of using form + session.
The Interchange6 project has so far released the following components:
A schema using DBIx::Class along with business logic.
A cart built using Moo.
Links the schema with the cart and provides keywords for use in your webshop.
We're still working on a demo shop, due out Christmas. ;-)
A port of my old Dancer1 plugin, Dancer2::Plugin::PageHistory was released
in June. The
add_to_history keyword which is exported by this plugin allows
you to add interesting items to the session-based history lists which are
returned using the history keyword.
Back in April, Lucas Tiago de Moraes released Dancer2::Plugin::Pg, another twist on relational database plugins.
Something I'd like to play with, Dancer2::Plugin::Swagger2 was released by Daniel Böhmer in March. This plugin creates routes directly from a Swagger (AKA OpenAPI) file. Neat.
Dancer2::Plugin::TemplateFlute, along with its sister distro Dancer2::Template::TemplateFlute, brings Racke's Template::Flute forms to Dancer2. Released in May 2016, we needed this in order to port the Perl Dancer Conference website code from Dancer1.
This article has been written by Peter Mottram for the Perl Dancer Advent Calendar 2016.
No copyright retained. Enjoy.
2016 // Peter Mottram (SysPete)