lee_crites has asked for the
wisdom of the Perl Monks concerning the following question:

Dancer2 BLOG Module?

My most esteemed brothers and sisters of the Monastery. I come before you this day pleading for your help in locating an elusive module. Please help me with my humble quest...

I wrote a couple of web UIs for clients several years ago using Dancer. I thought it was an outstanding framework, and so when the time came to do another one, I went back to it. I discovered Dancer2! Okay, so far, so good. I have 90% of my application working. There are several things I lack:

AJAX interface so I can have "live updates" on the management page.

A BLOG: so the users can communicate back and forth.

A WIKI: so the users can document what they are doing.

I am fully aware that there are wonderful applications that do these things, but in the context of this internal tool, it would be significantly better if I could incorporate all of them into the same Dancer2 UI.

I am currently reading up on AJAX, and testing out a few of the AJAX related modules. What I need is for the user to be able to see live updates (EG: when another app logs something is finished, I want to automagically show that update on the management screen of my app). I need to be able to allow the user to drag the entries up and down on the list to put them into the order they want to see them in. If you know of a better direction that AJAX, please let me know that -- I was told AJAX was "the very best tool for that," so it is what I am looking into now.

Back in the Dancer (v1) days, I downloaded a nice BLOG module. It allowed replies to replies, and nested them nicely with a single click to open/close the next level. It was relatively simply (no graphics upload or WYSIWYG), but it was everything I need for this app. But I cannot seem to find it now. If anyone out there has used it (or better yet, is maintaining it), I'd love a pointer to it. I'm more than happy to contribute changes I might make back to the project! If I cannot find one, I might have to write one, but why reinvent the wheel???

I am kind of old-school, I guess, but I still prefer a WIKI for my documentation and such. I looked, and just could not find a good perl based WIKI. I was sure I had one back in the day, but it has become lost to me. I would PREFER to link it into the Dancer2 UI, but if I have to have a standalone WIKI, then so be it. Everything else will be in perl, so a perl based one is what I am looking for. I really don't want to write one of these...

FWIW, websockets are The Best® way to do live updates and such in a web GUI. Ajax can only pull (client initiated request) but websockets can pull and push (server sends data without being asked and they have *much* smaller overhead for long running connections). With Ajax, you'll always have to be asking the server, should I update, should I update? Works fine of course and I do it all the time. I'd love to switch to websockets in many places but I'm not a websocket dev yet (only toyed with it to date) so I can't give more advice or caveats.

Update: Corion mentioned something below that Iím also going to try and sounds easier. Iíve been playing with Mojo and this kind of stuff Ė Writing websocket chat using Mojolicious Lite. I was going to write a log file tailer with it as my first production project but R&D is verrrrrryyyyy far down on my work list for awhile now (and I have no free time at home either).

If you want an out-of-the-box solution, checkout WebGUI, a free, comprehensive CMS written in Perl. It offers all the features you want and offers a plugin system that would allow you to extend it as desired - in Perl.

Alternatively if you want to reinvent the wheel, the Dancer2 Tutorial takes you through the basic steps to build a (very) rudimentary working blog engine.

The WebGUI app looks nice. I downloaded it for my linux mint system and will tinker with it. But it will not be what I use for this project.

I played with the very basic blog deal in the tutorial, but the one I downloaded several years ago using Dancer (v1) was everything I'd want. Actually, it has been long enough that I don't remember if it was actually a Dancer module, or if it was just something I was able to stuff into the environment. I remember I had an option that used the output from a bash script and one that called another perl script, so I might have simply called a standalone perl-based blog.