From john at stoffel.org Fri Dec 4 21:37:06 2015 From: john at stoffel.org (John Stoffel) Date: Fri, 4 Dec 2015 16:37:06 -0500 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me Message-ID: <22114.1922.324618.391274@quad.stoffel.home> I'm trying to play with Authentication in Dancer2, and I can't get the dang example from Gabor at his blog (http://perlmaven.com/password-protecting-web-pages-in-dancer2) to run, it keeps giving me the following error: No Auth::Extensible realms configured with which to authenticate user at /home/stoffj/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/Dancer2/Plugin/Auth/Extensible.pm line 1160. HTTP::Server::PSGI: Accepting connections at http://0:5000/ And I'm going a little crazy. I'm using a perlbrew interpretter on CentOS 6.7, runnning perl 5.14.2, with all the latest modules installed. >From looking at the Extensible.pm file, it's warning from the on_plugin_import() sub where it's looking for Realms. I've got the following config.yml file setup: show_errors: 1 session: "YAML" logger: console log: core plugins: Auth::Extensible: realms: config: provider: Config users: - user: 'foo' pass: 'bar' name: 'George Foo' roles: - Marketing - user: 'bar' pass: 'foo' name: 'George Bar' roles: - Testing - Marketing - Management And my app.pl looks like this: #!perl # use strict; use Dancer2; use Dancer2::Plugin::Auth::Extensible; get '/' => sub { return 'This is a public page. Everyone can see it. Check out the report'; }; get '/report' => require_role Marketing => sub { return 'Only authenticated users should be able to see this page'; }; dance; And I'm invoking it like this: ~/tmp/Dancer2> ../../perl5/perlbrew/perls/perl-5.14.2/bin/plackup -R . app.pl Watching . ./lib app.pl for file updates. No Auth::Extensible realms configured with which to authenticate user at /home/stoffj/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/Dancer2/Plugin/Auth/Extensible.pm line 1160. HTTP::Server::PSGI: Accepting connections at http://0:5000/ So does anyone see what I'm going wrong here? Thanks, John From andy at andybev.com Fri Dec 4 21:50:42 2015 From: andy at andybev.com (Andrew Beverley) Date: Fri, 04 Dec 2015 21:50:42 +0000 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <22114.1922.324618.391274@quad.stoffel.home> References: <22114.1922.324618.391274@quad.stoffel.home> Message-ID: <1449265842.24387.28.camel@andybev.com> On Fri, 2015-12-04 at 16:37 -0500, John Stoffel wrote: > I'm trying to play with Authentication in Dancer2, and I can't get the > dang example from Gabor at his blog > (http://perlmaven.com/password-protecting-web-pages-in-dancer2) to > run, it keeps giving me the following error: > > No Auth::Extensible realms configured with which to authenticate > user Your example works for me. Are you sure the app is reading your config at all? Try dumping config() from a route, and checking whether it contains your configuration (bear in mind that it will still contain default information if your config isn't being read). If it is, also check that the dump contains your Auth::Extensible config. Andy From kadirbeyazli at gmail.com Sat Dec 5 10:23:08 2015 From: kadirbeyazli at gmail.com (=?UTF-8?Q?Kadir_Beyazl=C4=B1?=) Date: Sat, 5 Dec 2015 12:23:08 +0200 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <1449265842.24387.28.camel@andybev.com> References: <22114.1922.324618.391274@quad.stoffel.home> <1449265842.24387.28.camel@andybev.com> Message-ID: Hi John, Instead of following command: plackup -R . app.pl Would you please try following and write result? perl app.pl And as I understand from your message, you get warning not error, because it says that : HTTP::Server::PSGI: Accepting connections at http://0:5000/ On Fri, Dec 4, 2015 at 11:50 PM, Andrew Beverley wrote: > On Fri, 2015-12-04 at 16:37 -0500, John Stoffel wrote: >> I'm trying to play with Authentication in Dancer2, and I can't get the >> dang example from Gabor at his blog >> (http://perlmaven.com/password-protecting-web-pages-in-dancer2) to >> run, it keeps giving me the following error: >> >> No Auth::Extensible realms configured with which to authenticate >> user > > Your example works for me. Are you sure the app is reading your config > at all? > > Try dumping config() from a route, and checking whether it contains your > configuration (bear in mind that it will still contain default > information if your config isn't being read). > > If it is, also check that the dump contains your Auth::Extensible > config. > > Andy > > > _______________________________________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users -- Kadir Beyazl? Computer Engineer GSM : +90 535 821 50 00 From russell.jenkins at strategicdata.com.au Sat Dec 5 12:32:28 2015 From: russell.jenkins at strategicdata.com.au (Russell Jenkins) Date: Sat, 5 Dec 2015 23:32:28 +1100 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <1449265842.24387.28.camel@andybev.com> References: <22114.1922.324618.391274@quad.stoffel.home> <1449265842.24387.28.camel@andybev.com> Message-ID: <5662D95C.30901@strategicdata.com.au> On 5/12/2015 8:50 AM, Andrew Beverley wrote: > On Fri, 2015-12-04 at 16:37 -0500, John Stoffel wrote: >> I'm trying to play with Authentication in Dancer2, and I can't get the >> dang example from Gabor at his blog >> (http://perlmaven.com/password-protecting-web-pages-in-dancer2) to >> run, it keeps giving me the following error: >> >> No Auth::Extensible realms configured with which to authenticate >> user > Your example works for me. Are you sure the app is reading your config > at all? The config and code in John's example looks ok. > And I'm invoking it like this: > > ~/tmp/Dancer2> ../../perl5/perlbrew/perls/perl-5.14.2/bin/plackup -R . app.pl Dancer2 uses a heuristic to locate app config files if $ENV{DANCER_CONFDIR} is not set. This iterates up the directory structure looking for ./bin and ./lib sub-directories or a .dancer file. Based on having those routes defined in app.pl, I'm assuming that you had no ./bin and ./lib subdirs in ~/tmp/Dancer2, so the heuristic doesn't find the config file there. Creating a .dancer file (content is not important) in that directory will resolve that. Regards, Russell. From john at stoffel.org Sat Dec 5 14:05:46 2015 From: john at stoffel.org (John Stoffel) Date: Sat, 5 Dec 2015 09:05:46 -0500 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <1449265842.24387.28.camel@andybev.com> References: <22114.1922.324618.391274@quad.stoffel.home> <1449265842.24387.28.camel@andybev.com> Message-ID: <22114.61242.678412.891778@quad.stoffel.home> >>>>> "Andrew" == Andrew Beverley writes: Andrew> On Fri, 2015-12-04 at 16:37 -0500, John Stoffel wrote: >> I'm trying to play with Authentication in Dancer2, and I can't get the >> dang example from Gabor at his blog >> (http://perlmaven.com/password-protecting-web-pages-in-dancer2) to >> run, it keeps giving me the following error: >> >> No Auth::Extensible realms configured with which to authenticate >> user Andrew> Your example works for me. Are you sure the app is reading Andrew> your config at all? I'm pretty sure it is, because when I put in something wrong, it barks at me. And when I do save the file, I also see the plackup messages that it's re-reading the file. Andrew> Try dumping config() from a route, and checking whether it Andrew> contains your configuration (bear in mind that it will still Andrew> contain default information if your config isn't being read). Andrew> If it is, also check that the dump contains your Andrew> Auth::Extensible config. I suspect it's some wierd interaction of my perlbrew setup with my existing local setup which is driving this problem. I wonder if I'm reading in a mix of ancient perl5 modules and the newer perlbrew modules because of my PERL5LIB environment. Gah!!! Sorry to bug you all... From andy at andybev.com Sat Dec 5 14:43:47 2015 From: andy at andybev.com (Andrew Beverley) Date: Sat, 05 Dec 2015 14:43:47 +0000 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <22114.61242.678412.891778@quad.stoffel.home> References: <22114.1922.324618.391274@quad.stoffel.home> <1449265842.24387.28.camel@andybev.com> <22114.61242.678412.891778@quad.stoffel.home> Message-ID: <1449326627.26383.3.camel@andybev.com> On Sat, 2015-12-05 at 09:05 -0500, John Stoffel wrote: > Andrew> Your example works for me. Are you sure the app is reading > Andrew> your config at all? > > I'm pretty sure it is, because when I put in something wrong, it barks > at me. And when I do save the file, I also see the plackup messages > that it's re-reading the file. I guess the bottom line is that the warning wouldn't be displayed if the module config was being passed correctly to Auth::Extensible. > Andrew> Try dumping config() from a route, and checking whether it > Andrew> contains your configuration (bear in mind that it will still > Andrew> contain default information if your config isn't being read). > > Andrew> If it is, also check that the dump contains your > Andrew> Auth::Extensible config. > > I suspect it's some wierd interaction of my perlbrew setup with my > existing local setup which is driving this problem. Maybe try dumping the config file in a few key places? You should be able to do that in Extensible.pm by dumping $app->config in on_plugin_import() From gabor at szabgab.com Sat Dec 5 15:24:22 2015 From: gabor at szabgab.com (Gabor Szabo) Date: Sat, 5 Dec 2015 17:24:22 +0200 Subject: [dancer-users] Dancer2::Plugin::Auth::Extensible problem - likely me In-Reply-To: <22114.61242.678412.891778@quad.stoffel.home> References: <22114.1922.324618.391274@quad.stoffel.home> <1449265842.24387.28.camel@andybev.com> <22114.61242.678412.891778@quad.stoffel.home> Message-ID: On Sat, Dec 5, 2015 at 4:05 PM, John Stoffel wrote: > >>>>> "Andrew" == Andrew Beverley writes: > > I suspect it's some wierd interaction of my perlbrew setup with my > existing local setup which is driving this problem. I wonder if I'm > reading in a mix of ancient perl5 modules and the newer perlbrew > modules because of my PERL5LIB environment. print out the content of %INC to see what has been loaded. Gabor -------------- next part -------------- An HTML attachment was scrubbed... URL: From gatorreina at gmail.com Wed Dec 9 02:00:41 2015 From: gatorreina at gmail.com (Richard Reina) Date: Tue, 8 Dec 2015 20:00:41 -0600 Subject: [dancer-users] Dancer2 deployment In-Reply-To: References: <7E304C7E-CE5E-4122-92F4-0373CE33426F@gmail.com> Message-ID: 2015-11-22 10:45 GMT-06:00 Andrew Solomon : > I think this tutorial of Gabor's is a very gentle introduction to > deployment: > > http://perlmaven.com/getting-started-with-perl-dancer-on-digital-ocean > > Andrew > > Followed the tutorial above and it has worked great so far. However, I am now trying to install an SSL certificate and am following the instructions from digital ocean https://www.digitalocean.com/community/tutorials/how-to-install-an-ssl-certificate-from-a-commercial-certificate-authority which calls for modifying the default block file. I am not sure how to proceed as I removed the file per the instructions of this tutorial root at s12:~# rm /etc/nginx/sites-enabled/default root at s12:~# ln -s /home/starman/nginx-demo.conf /etc/nginx/sites-enabled/ root at s12:~# service nginx restart The file nginx-demo.conf does not contain the line with 'listen' that I am supposed to edit to install the certificate. Any help would be greatly appreciated. Thanks, Richard -------------- next part -------------- An HTML attachment was scrubbed... URL: From racke at linuxia.de Thu Dec 17 08:33:17 2015 From: racke at linuxia.de (Stefan Hornburg (Racke)) Date: Thu, 17 Dec 2015 09:33:17 +0100 Subject: [dancer-users] Videos 2015 + Conference 2016 Message-ID: <5672734D.9020001@linuxia.de> The Perl Dancer Conference proudly presents the videos from the talks in Vienna: https://www.youtube.com/playlist?list=PLf1KDvMbyeCQq4mkMt8jDPzS9uPUX_mNo Thanks to our sponsors (https://www.perl.dance/sponsors), without their support this extensive coverage wouldn't be possible. Thanks to Amanda Crow at A. Crow Editing for the intricate editing work. The feedback from the speakers and other participants was really encouraging, so we are going to start planning for next year's event in January. Please feel free to make suggestions about venue, schedule and everything else which could be improved for 2016. Regards Racke -- Perl and Dancer Development Visit our Perl::Dancer conference 2015. More information on https://www.perl.dance. From wyml at etr-usa.com Wed Dec 23 08:49:48 2015 From: wyml at etr-usa.com (Warren Young) Date: Wed, 23 Dec 2015 01:49:48 -0700 Subject: [dancer-users] Medium-Scale Dancer series updated Message-ID: I?ve just finished a touch-up pass on my series of articles on getting beyond the initial small-scale app design generated by ?dancer -a app?. They were to be part of the 2015 advent calendar, but for now, here are the current links: Part 1, modules: https://goo.gl/SFn30N Part 2, routes: https://goo.gl/UfMqGo Part 3, views: https://goo.gl/DN8xYO Part 4, front end: https://goo.gl/wlyOFB Part 5, REST API: https://goo.gl/VbMI4P Part 6, reloader: https://goo.gl/6AiiIm (These are GitHub links, showing the current tip-of-master versions, shortened so they don?t break due to line wrapping.) The major change is that I?ve replaced the context object idea with direct Dancer DSL calls. I had poor justifications for this object, which I realized after watching Alexis Sukrieh?s 2015 conference video. That in turn allowed me to drop a level of function calls, which makes the recommended design considerably cleaner. I?ve also fixed up some UTF-8 problems, so you don?t get broken Latin-1 characters when viewing the articles in a web browser. (They look fine on a UTF-8 terminal. :) ) From xsawyerx at gmail.com Sat Dec 26 09:53:16 2015 From: xsawyerx at gmail.com (Sawyer X) Date: Sat, 26 Dec 2015 10:53:16 +0100 Subject: [dancer-users] Calling all plugin authors and plugin users Message-ID: Hi everyone and merry $whatever_you_celebrate! Yesterday I finished the last patches to our new plugin system branch[1], supporting the old plugin syntax while working with the new one. There are two exceptions, mentioned in the original PR[2]: * You cannot call `use Dancer2` in the plugin. We currently do not detect this. We might be able to add this check. * You cannot import specific keywords from a plugin. We might be able to support it in the future, but it isn't supported at the moment. We do detect this and croak() if we see it happen, so you know what to do. Other than that, the old syntax seems to work. I want to ask all plugin authors to test their plugins. All users are also asked to report any issues. We would like to release a tentative trial version this weekend and, if all goes well, push this to production soon after. The plan is to then deprecate the old plugin syntax. We haven't decided yet what the timeline should be (a month, six months, two releases, six releases, etc.) but we will openly discuss this and are interested in all suggestions and comments. I have opened a ticket[3] to track all plugins we work with and the changes they might require (if they fall on one of the first two cases indicated above). We would appreciate any and all help! I will try and write a utility that automatically checks plugin code for the aforementioned problems. Please let us know if and how we can help you help us help you help all of us. :) Sawyer. [1] https://github.com/PerlDancer/Dancer2/tree/plugins-yanick [2] https://github.com/PerlDancer/Dancer2/pull/1010 [3] https://github.com/PerlDancer/Dancer2/issues/1078 From xsawyerx at gmail.com Sat Dec 26 09:57:01 2015 From: xsawyerx at gmail.com (Sawyer X) Date: Sat, 26 Dec 2015 10:57:01 +0100 Subject: [dancer-users] Non-blocking stuff In-Reply-To: References: <4C907342-B39D-4DC8-BFAA-9E5F0CAE3F2D@etr-usa.com> <50BA3EE9-46FB-4408-AA40-2CE6E6CA0C55@etr-usa.com> Message-ID: I've been pretty busy of late so had no time to keep track of the list. My apologies. Still, I would be happy to try and resolve this. Since this was last month, I'm assuming there might have been changes. Can you tell me what the last current state (plus some code, please) of this is? We'll pick it up from the current state and try and resolve any issues. On Tue, Nov 17, 2015 at 8:55 AM, David H wrote: > Thanks Warren, > > I could fiddle with it, I've spent a good 30 mins to 1 hour trying to get > various versions of the code working without success. I can attest the the > 'streaming' part works fine and the code will stream properly (I even > cracked out Wireshark to test), however it still blocks. In terms of the > non-blocking part, I'm sure there is something fundamental I'm doing wrong, > just not sure what. > > David > > > On Tue, Nov 17, 2015 at 2:50 PM, Warren Young wrote: >> >> On Nov 16, 2015, at 9:09 PM, David H wrote: >> > >> > So yeah, some clarification would be awesome, or just someone with an >> > example which works. >> >> One of the items on the list of ideas for Advent Calendar 2015 articles is >> exactly that: >> >> https://github.com/PerlDancer/advent-calendar >> >> Since no one has signed up to write that article, maybe you should. I >> know you don?t know how to make it work right now, but the code is open, so >> you could in principle figure out how to use it. >> >> An article written from the perspective of a newbie is often better in the >> end than one written by someone who knows how the feature is *supposed* to >> work, because you?re more likely to remember where all the traps are. >> >> I might write it myself, because I, too, have not yet used this feature of >> Dancer 2, but it was already on my to-do list. (I want to use the feature >> to throttle repeated login attempts without slowing down one-off logins.) >> >> That said, I?ve already written 6 articles for the calendar, and have >> received hardly any good feedback, so maybe I should leave the remaining 3/4 >> of the available spots to others. >> _______________________________________________ >> dancer-users mailing list >> dancer-users at dancer.pm >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > > _______________________________________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > From xsawyerx at gmail.com Sat Dec 26 10:01:48 2015 From: xsawyerx at gmail.com (Sawyer X) Date: Sat, 26 Dec 2015 11:01:48 +0100 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: References: Message-ID: This is awesome, Warren! I can probably give an entire talk or a series of articles on why the context object was problematic and why it was useful. Mickey and I spent over 4 full days of hacking to completely remove the context object[1]. It was 48 separate commits! I'll read the articles as soon as I can (hopefully tomorrow morning) and give any comments. Very happy to see it. Thanks for the work! :) [1] https://github.com/PerlDancer/Dancer2/commit/e0772f9 On Wed, Dec 23, 2015 at 9:49 AM, Warren Young wrote: > I?ve just finished a touch-up pass on my series of articles on getting beyond the initial small-scale app design generated by ?dancer -a app?. They were to be part of the 2015 advent calendar, but for now, here are the current links: > > Part 1, modules: https://goo.gl/SFn30N > Part 2, routes: https://goo.gl/UfMqGo > Part 3, views: https://goo.gl/DN8xYO > Part 4, front end: https://goo.gl/wlyOFB > Part 5, REST API: https://goo.gl/VbMI4P > Part 6, reloader: https://goo.gl/6AiiIm > > (These are GitHub links, showing the current tip-of-master versions, shortened so they don?t break due to line wrapping.) > > The major change is that I?ve replaced the context object idea with direct Dancer DSL calls. I had poor justifications for this object, which I realized after watching Alexis Sukrieh?s 2015 conference video. > > That in turn allowed me to drop a level of function calls, which makes the recommended design considerably cleaner. > > I?ve also fixed up some UTF-8 problems, so you don?t get broken Latin-1 characters when viewing the articles in a web browser. (They look fine on a UTF-8 terminal. :) ) > _______________________________________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users From aireland at lbl.gov Sat Dec 26 12:49:00 2015 From: aireland at lbl.gov (Amelia Ireland) Date: Sat, 26 Dec 2015 04:49:00 -0800 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: References: Message-ID: This is really fantastic -- thank you Warren. I am trying to persuade my coworkers to switch to Dancer, and this article series will be a huge help in demonstrating how to design and build a large application. Thank you! I?ve just finished a touch-up pass on my series of articles on getting beyond the initial small-scale app design generated by ?dancer -a app?. They were to be part of the 2015 advent calendar, but for now, here are the current links: Part 1, modules: https://goo.gl/SFn30N Part 2, routes: https://goo.gl/UfMqGo Part 3, views: https://goo.gl/DN8xYO Part 4, front end: https://goo.gl/wlyOFB Part 5, REST API: https://goo.gl/VbMI4P Part 6, reloader: https://goo.gl/6AiiIm (These are GitHub links, showing the current tip-of-master versions, shortened so they don?t break due to line wrapping.) The major change is that I?ve replaced the context object idea with direct Dancer DSL calls. I had poor justifications for this object, which I realized after watching Alexis Sukrieh?s 2015 conference video. That in turn allowed me to drop a level of function calls, which makes the recommended design considerably cleaner. I?ve also fixed up some UTF-8 problems, so you don?t get broken Latin-1 characters when viewing the articles in a web browser. (They look fine on a UTF-8 terminal. :) ) _______________________________________________ dancer-users mailing list dancer-users at dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From yanick at babyl.dyndns.org Mon Dec 28 15:17:58 2015 From: yanick at babyl.dyndns.org (Yanick Champoux) Date: Mon, 28 Dec 2015 10:17:58 -0500 Subject: [dancer-users] Calling all plugin authors and plugin users In-Reply-To: References: Message-ID: <568152A6.3060102@babyl.dyndns.org> On 2015-12-26 04:53 AM, Sawyer X wrote: > I want to ask all plugin authors to test their plugins. For what it's worth, here's the list of test results for plugins against the latest general Dancer2 release and the d2p2 branch: Dancer2-Plugin-AppRole-Helper PASSED PASSED Dancer2-Plugin-Articulate PASSED PASSED Dancer2-Plugin-Auth-Extensible PASSED FAILED Dancer2-Plugin-Auth-Extensible-Provider-DBIC FAILED FAILED Dancer2-Plugin-Auth-Extensible-Provider-Usergroup PASSED PASSED Dancer2-Plugin-Auth-OAuth PASSED FAILED Dancer2-Plugin-Auth-Tiny PASSED PASSED Dancer2-Plugin-Auth-YARBAC PASSED PASSED Dancer2-Plugin-ConditionalCaching PASSED PASSED Dancer2-Plugin-DBIC PASSED FAILED Dancer2-Plugin-Deferred PASSED FAILED Dancer2-Plugin-Feed PASSED FAILED Dancer2-Plugin-HTTP-Auth-Extensible FAILED FAILED Dancer2-Plugin-JWT PASSED FAILED Dancer2-Plugin-Locale-Wolowitz FAILED FAILED Dancer2-Plugin-LogContextual PASSED PASSED Dancer2-Plugin-Model PASSED PASSED Dancer2-Plugin-Negotiate PASSED PASSED Dancer2-Plugin-Passphrase PASSED FAILED Dancer2-Plugin-Path-Class PASSED PASSED Dancer2-Plugin-ProgressStatus PASSED FAILED Dancer2-Plugin-Queue PASSED PASSED Dancer2-Plugin-reCAPTCHA PASSED PASSED Dancer2-Plugin-Redis PASSED FAILED Dancer2-Plugin-Res PASSED PASSED Dancer2-Plugin-REST PASSED FAILED Dancer2-Plugin-RoutePodCoverage PASSED FAILED Dancer2-Plugin-Shutdown-Redis FAILED FAILED Dancer2-Plugin-Syntax-GetPost PASSED PASSED Dancer2-Plugin-UnicodeNormalize PASSED FAILED The plugins passing with stock D2 and failing with the changes are Dancer2-Plugin-Auth-Extensible PASSED FAILED Dancer2-Plugin-Auth-OAuth PASSED FAILED Dancer2-Plugin-DBIC PASSED FAILED Dancer2-Plugin-Deferred PASSED FAILED Dancer2-Plugin-Feed PASSED FAILED Dancer2-Plugin-JWT PASSED FAILED Dancer2-Plugin-Passphrase PASSED FAILED Dancer2-Plugin-ProgressStatus PASSED FAILED Dancer2-Plugin-Redis PASSED FAILED Dancer2-Plugin-REST PASSED FAILED Dancer2-Plugin-RoutePodCoverage PASSED FAILED Dancer2-Plugin-UnicodeNormalize PASSED FAILED Joy, `/anick From bill at bottlenose-wine.com Mon Dec 28 16:38:21 2015 From: bill at bottlenose-wine.com (William Carr) Date: Mon, 28 Dec 2015 16:38:21 +0000 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: References: Message-ID: <00000151e9747011-84335092-f673-49f3-9561-074616be2fde-000000@email.amazonses.com> Thank you very much for this. I found these articles very helpful. Do you have any suggestions or design patterns for including commonly used modules? For example, how may I reduce the following without repeating myself? MyApp::Module1.pm use Dancer2; use Dancer2 appname => ?myapp?; use Dancer2::Plugin::Ajax; MyApp::Module2.pm use Dancer2; use Dancer2 appname => ?myapp?; use Dancer2::Plugin::Ajax; -Bill Carr > On Dec 23, 2015, at 3:49 AM, Warren Young wrote: > > I?ve just finished a touch-up pass on my series of articles on getting beyond the initial small-scale app design generated by ?dancer -a app?. They were to be part of the 2015 advent calendar, but for now, here are the current links: > > Part 1, modules: https://goo.gl/SFn30N > Part 2, routes: https://goo.gl/UfMqGo > Part 3, views: https://goo.gl/DN8xYO > Part 4, front end: https://goo.gl/wlyOFB > Part 5, REST API: https://goo.gl/VbMI4P > Part 6, reloader: https://goo.gl/6AiiIm > > (These are GitHub links, showing the current tip-of-master versions, shortened so they don?t break due to line wrapping.) > > The major change is that I?ve replaced the context object idea with direct Dancer DSL calls. I had poor justifications for this object, which I realized after watching Alexis Sukrieh?s 2015 conference video. > > That in turn allowed me to drop a level of function calls, which makes the recommended design considerably cleaner. > > I?ve also fixed up some UTF-8 problems, so you don?t get broken Latin-1 characters when viewing the articles in a web browser. (They look fine on a UTF-8 terminal. :) ) > _______________________________________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users From aireland at lbl.gov Mon Dec 28 18:20:35 2015 From: aireland at lbl.gov (Amelia Ireland) Date: Mon, 28 Dec 2015 18:20:35 +0000 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: <00000151e9747011-84335092-f673-49f3-9561-074616be2fde-000000@email.amazonses.com> References: <00000151e9747011-84335092-f673-49f3-9561-074616be2fde-000000@email.amazonses.com> Message-ID: A couple of nice modules that make it easy to create sets of commonly-used modules: Import::Base, https://metacpan.org/pod/Import::Base Import::Into, https://metacpan.org/pod/Import::Into There's also a list of modules with similar functionality in the docs for Import::Base. On 28 December 2015 at 16:38, William Carr wrote: > Thank you very much for this. I found these articles very helpful. > > Do you have any suggestions or design patterns for including commonly used > modules? > > For example, how may I reduce the following without repeating myself? > > MyApp::Module1.pm > use Dancer2; > use Dancer2 appname => ?myapp?; > use Dancer2::Plugin::Ajax; > > MyApp::Module2.pm > use Dancer2; > use Dancer2 appname => ?myapp?; > use Dancer2::Plugin::Ajax; > > -Bill Carr > > > > On Dec 23, 2015, at 3:49 AM, Warren Young wrote: > > > > I?ve just finished a touch-up pass on my series of articles on getting > beyond the initial small-scale app design generated by ?dancer -a app?. > They were to be part of the 2015 advent calendar, but for now, here are the > current links: > > > > Part 1, modules: https://goo.gl/SFn30N > > Part 2, routes: https://goo.gl/UfMqGo > > Part 3, views: https://goo.gl/DN8xYO > > Part 4, front end: https://goo.gl/wlyOFB > > Part 5, REST API: https://goo.gl/VbMI4P > > Part 6, reloader: https://goo.gl/6AiiIm > > > > (These are GitHub links, showing the current tip-of-master versions, > shortened so they don?t break due to line wrapping.) > > > > The major change is that I?ve replaced the context object idea with > direct Dancer DSL calls. I had poor justifications for this object, which > I realized after watching Alexis Sukrieh?s 2015 conference video. > > > > That in turn allowed me to drop a level of function calls, which makes > the recommended design considerably cleaner. > > > > I?ve also fixed up some UTF-8 problems, so you don?t get broken Latin-1 > characters when viewing the articles in a web browser. (They look fine on > a UTF-8 terminal. :) ) > > _______________________________________________ > > dancer-users mailing list > > dancer-users at dancer.pm > > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > _______________________________________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter at sysnix.com Tue Dec 29 13:37:41 2015 From: peter at sysnix.com (Peter Mottram) Date: Tue, 29 Dec 2015 14:37:41 +0100 Subject: [dancer-users] Calling all plugin authors and plugin users In-Reply-To: <568152A6.3060102@babyl.dyndns.org> References: <568152A6.3060102@babyl.dyndns.org> Message-ID: <56828CA5.1050000@sysnix.com> On 28/12/15 16:17, Yanick Champoux wrote: > On 2015-12-26 04:53 AM, Sawyer X wrote: >> I want to ask all plugin authors to test their plugins. > For what it's worth, here's the list of test results for plugins > against the latest general Dancer2 release and the d2p2 branch: > > Dancer2-Plugin-AppRole-Helper PASSED PASSED > Dancer2-Plugin-Articulate PASSED PASSED > Dancer2-Plugin-Auth-Extensible PASSED FAILED > Dancer2-Plugin-Auth-Extensible-Provider-DBIC FAILED FAILED > Dancer2-Plugin-Auth-Extensible-Provider-Usergroup PASSED PASSED > Dancer2-Plugin-Auth-OAuth PASSED FAILED > Dancer2-Plugin-Auth-Tiny PASSED PASSED > Dancer2-Plugin-Auth-YARBAC PASSED PASSED > Dancer2-Plugin-ConditionalCaching PASSED PASSED > Dancer2-Plugin-DBIC PASSED FAILED > Dancer2-Plugin-Deferred PASSED FAILED > Dancer2-Plugin-Feed PASSED FAILED > Dancer2-Plugin-HTTP-Auth-Extensible FAILED FAILED > Dancer2-Plugin-JWT PASSED FAILED > Dancer2-Plugin-Locale-Wolowitz FAILED FAILED > Dancer2-Plugin-LogContextual PASSED PASSED > Dancer2-Plugin-Model PASSED PASSED > Dancer2-Plugin-Negotiate PASSED PASSED > Dancer2-Plugin-Passphrase PASSED FAILED > Dancer2-Plugin-Path-Class PASSED PASSED > Dancer2-Plugin-ProgressStatus PASSED FAILED > Dancer2-Plugin-Queue PASSED PASSED > Dancer2-Plugin-reCAPTCHA PASSED PASSED > Dancer2-Plugin-Redis PASSED FAILED > Dancer2-Plugin-Res PASSED PASSED > Dancer2-Plugin-REST PASSED FAILED > Dancer2-Plugin-RoutePodCoverage PASSED FAILED > Dancer2-Plugin-Shutdown-Redis FAILED FAILED > Dancer2-Plugin-Syntax-GetPost PASSED PASSED > Dancer2-Plugin-UnicodeNormalize PASSED FAILED > > > The plugins passing with stock D2 and failing with the changes are > > Dancer2-Plugin-Auth-Extensible PASSED FAILED > Dancer2-Plugin-Auth-OAuth PASSED FAILED > Dancer2-Plugin-DBIC PASSED FAILED > Dancer2-Plugin-Deferred PASSED FAILED > Dancer2-Plugin-Feed PASSED FAILED > Dancer2-Plugin-JWT PASSED FAILED > Dancer2-Plugin-Passphrase PASSED FAILED > Dancer2-Plugin-ProgressStatus PASSED FAILED > Dancer2-Plugin-Redis PASSED FAILED > Dancer2-Plugin-REST PASSED FAILED > Dancer2-Plugin-RoutePodCoverage PASSED FAILED > Dancer2-Plugin-UnicodeNormalize PASSED FAILED > I'm tracking what the issues are with failing plugins here: https://github.com/PerlDancer/Dancer2/issues/1078 PRs submitted for 4 of them so far and (hopefully) some useful info for Sawyer for the others. P From wyml at etr-usa.com Tue Dec 29 15:49:22 2015 From: wyml at etr-usa.com (Warren Young) Date: Tue, 29 Dec 2015 08:49:22 -0700 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: References: Message-ID: On Dec 26, 2015, at 3:01 AM, Sawyer X wrote: > > This is awesome, Warren! Glad to hear it. It?s too bad the advent project fizzled this year. Maybe you?ll pull them into next year?s calendar. > I can probably give an entire talk or a series of articles on why the > context object was problematic and why it was useful. Mickey and I > spent over 4 full days of hacking to completely remove the context > object[1]. It was 48 separate commits! My context() function isn?t the same thing as the D2 Context object. This article series is a distillation of experience with a D1 app, translated post hoc into D2 code. I evaluated D2 about a year and a half ago, rejecting it because I couldn?t get something working right. (I don?t remember what it was.) I remember deciding to provide a thin mimicry of D2?s old Context object in our D1 code. Replacing context() in our app with direct DSL calls dropped 400 SLOC, so I guess it wasn?t such a good idea after all. :) From wyml at etr-usa.com Tue Dec 29 16:03:20 2015 From: wyml at etr-usa.com (Warren Young) Date: Tue, 29 Dec 2015 09:03:20 -0700 Subject: [dancer-users] D2 compatibility with Perl 5.8 Message-ID: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> We recently rejected a plan to migrate to D2 when we discovered that Dancer2::Text::Xslate requires Perl 5.10. We still have to support 5.8 because we have an existing fleet of CentOS 5 boxes which aren?t going away any time soon. (Upgrading them in the field is as good as impossible, and we lack a good business reason to have them shipped back to be upgraded. They won?t go away until our customers just stop using them, or they fall over dead and need to be replaced.) Is dropping Perl 5.8 support an intentional move? If so, we?ll have to stick with D1 for years to come. I know the Modern Perl movement is trying to get beyond 5.8, but the fact is, it was the primary version of Perl for nearly 5 years, so it left a big ?pulse? in the timeline that will take a long time to dissipate. Incidentally, a big factor in our choice to use Dancer 1 was that it still supports Perl 5.8. We rejected Catalyst and Mojolicious without even evaluating them because they both require Perl 5.10. From wyml at etr-usa.com Tue Dec 29 16:56:55 2015 From: wyml at etr-usa.com (Warren Young) Date: Tue, 29 Dec 2015 09:56:55 -0700 Subject: [dancer-users] Medium-Scale Dancer series updated In-Reply-To: <00000151e9747011-84335092-f673-49f3-9561-074616be2fde-000000@email.amazonses.com> References: <00000151e9747011-84335092-f673-49f3-9561-074616be2fde-000000@email.amazonses.com> Message-ID: On Dec 28, 2015, at 9:38 AM, William Carr wrote: > > how may I reduce the following without repeating myself? > > MyApp::Module1.pm > use Dancer2; > use Dancer2 appname => ?myapp?; You only need the second ?use? call. Setting the appname property is not a separate thing from importing Dancer2. > use Dancer2::Plugin::Ajax; > > MyApp::Module2.pm > use Dancer2; > use Dancer2 appname => ?myapp?; > use Dancer2::Plugin::Ajax; Move ?use Dancer2::Plugin::Ajax;? to lib/App.pm, before the ?use? calls to your other app modules. Then anything that module exports to the global namespace will be available to those modules. By carefully ordering your ?use? statements, you can usually find a way to mention any given module only once. There are even cases where doing so is *required*. For example, if you say something like: use List::Util qw(min max); from two different modules, and ?use? both of those from a third module, you?ll get a complaint about redefined min/max. The fix is to move that ?use? call to a single central location that everyone that needs those utility functions depends on. From racke at linuxia.de Wed Dec 30 10:35:34 2015 From: racke at linuxia.de (Stefan Hornburg (Racke)) Date: Wed, 30 Dec 2015 11:35:34 +0100 Subject: [dancer-users] D2 compatibility with Perl 5.8 In-Reply-To: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> References: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> Message-ID: <5683B376.4070402@linuxia.de> On 12/29/2015 05:03 PM, Warren Young wrote: > We recently rejected a plan to migrate to D2 when we discovered that Dancer2::Text::Xslate requires Perl 5.10. > I suggest to contact author of the Dancer2::Text::Xslate about this prerequisite resp. trying to run it with Perl 5.8 and fix problems. > We still have to support 5.8 because we have an existing fleet of CentOS 5 boxes which aren?t going away any time soon. > > (Upgrading them in the field is as good as impossible, and we lack a good business reason to have them shipped back to be upgraded. They won?t go away until our customers just stop using them, or they fall over dead and need to be replaced.) > > Is dropping Perl 5.8 support an intentional move? If so, we?ll have to stick with D1 for years to come. Dancer2 itself should work with Perl 5.8. > > I know the Modern Perl movement is trying to get beyond 5.8, but the fact is, it was the primary version of Perl for nearly 5 years, so it left a big ?pulse? in the timeline that will take a long time to dissipate. > > Incidentally, a big factor in our choice to use Dancer 1 was that it still supports Perl 5.8. We rejected Catalyst and Mojolicious without even evaluating them because they both require Perl 5.10. > ________________________ Also you have always the choice to install a custom Perl on these boxes. Regards Racke _______________________ > dancer-users mailing list > dancer-users at dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > -- Perl and Dancer Development Visit our Perl::Dancer conference 2015. More information on https://www.perl.dance. From wyml at etr-usa.com Thu Dec 31 15:20:52 2015 From: wyml at etr-usa.com (Warren Young) Date: Thu, 31 Dec 2015 08:20:52 -0700 Subject: [dancer-users] D2 compatibility with Perl 5.8 In-Reply-To: <5683B376.4070402@linuxia.de> References: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> <5683B376.4070402@linuxia.de> Message-ID: <9BA2F344-9998-430A-806B-A4EC565759BB@etr-usa.com> On Dec 30, 2015, at 3:35 AM, Stefan Hornburg (Racke) wrote: > >> you have always the choice to install a custom Perl on these boxes. The supported way to do that on RHEL type OSes wasn?t added until CentOS 6.5, which comes with Perl 5.10 already. Prior to that, you have to either: 1. Find a third-party RPM and hope for the best. (Not exactly a production-grade solution!) 2. Use PerlBrew or similar, which largely defeats the purpose of using a stable Linux like CentOS in the first place. If we wanted to build platform software from source, we?d be on Arch or Gentoo. I think we?re either going to have to hold off on D2 for some time, or as you say, try to get the Xslate plugin backported to 5.8. From wyml at etr-usa.com Thu Dec 31 16:29:42 2015 From: wyml at etr-usa.com (Warren Young) Date: Thu, 31 Dec 2015 09:29:42 -0700 Subject: [dancer-users] D2 compatibility with Perl 5.8 In-Reply-To: <9BA2F344-9998-430A-806B-A4EC565759BB@etr-usa.com> References: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> <5683B376.4070402@linuxia.de> <9BA2F344-9998-430A-806B-A4EC565759BB@etr-usa.com> Message-ID: On Dec 31, 2015, at 8:20 AM, Warren Young wrote: > > I think we?re either going to have to hold off on D2 for some time, or as you say, try to get the Xslate plugin backported to 5.8. It turns out that fixing this is a one-liner: https://github.com/rsimoes/Dancer2-Template-Xslate/pull/7 A wish to use //= on a single line in the plugin is a pretty silly reason to require Perl 5.10. :) From darren at darrenduncan.net Thu Dec 31 22:48:17 2015 From: darren at darrenduncan.net (Darren Duncan) Date: Thu, 31 Dec 2015 14:48:17 -0800 Subject: [dancer-users] D2 compatibility with Perl 5.8 In-Reply-To: References: <60F34F37-32EF-4D9D-A408-1BAF8A14BB3B@etr-usa.com> <5683B376.4070402@linuxia.de> <9BA2F344-9998-430A-806B-A4EC565759BB@etr-usa.com> Message-ID: <5685B0B1.6040604@darrenduncan.net> On 2015-12-31 8:29 AM, Warren Young wrote: > On Dec 31, 2015, at 8:20 AM, Warren Young wrote: >> >> I think we?re either going to have to hold off on D2 for some time, or as you say, try to get the Xslate plugin backported to 5.8. > > It turns out that fixing this is a one-liner: > > https://github.com/rsimoes/Dancer2-Template-Xslate/pull/7 > > A wish to use //= on a single line in the plugin is a pretty silly reason to require Perl 5.10. :) Indeed. In my experience, the most common reasons that Perl code would require a version over 5.8 is due to wanting to use some new syntactic features such as that, and that instead sticking to the syntax 5.8 has would not change the code very much. There are other, deeper features of Perl versions over 5.8 that make them worth upgrading to, but often code incompatibilities aren't due to people needing these things, and so for that code it should still support 5.8. Bottom line, if a Perl module/script you depend on requires a higher Perl version number than you have, don't just take that at face value but look into it and you may often find that tweaking this module's source is indeed the easiest path. -- Darren Duncan