Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

BLOGGING and/or WIKI modules for Dancer2

by lee_crites (Scribe)
on Dec 13, 2016 at 06:37 UTC ( [id://1177688]=perlquestion: print w/replies, xml ) Need Help??

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:

  1. AJAX interface so I can have "live updates" on the management page.
  2. A BLOG: so the users can communicate back and forth.
  3. 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...

Thanks for your help!

Lee Crites
lee@critesclan.com

Replies are listed 'Best First'.
Re: BLOGGING and/or WIKI modules for Dancer2
by choroba (Cardinal) on Dec 13, 2016 at 09:57 UTC

      Dancer2::Plugin::Ajax

      This is exactly where I started. I'm trying to learn AJAX while I'm putting this together. Slightly bigger learning curve than I thought it would be.

      Lee Crites
      lee@critesclan.com
Re: BLOGGING and/or WIKI modules for Dancer2
by Your Mother (Archbishop) on Dec 13, 2016 at 14:56 UTC

    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).

      Personally, I found Server-sent Events / EventSource much easier as it is unidirectional and has less features/security issues like scanning your internal network.

      With both, the server can notify the client of changes and send the changed data.

        Looks wonderful. I am out of the loop. Thanks for mentioning it.

        has less features/security issues like scanning your internal network.

        Hi, whats this now?

Re: BLOGGING and/or WIKI modules for Dancer2
by 1nickt (Canon) on Dec 13, 2016 at 13:57 UTC

    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.

    Hope this helps!


    The way forward always starts with a minimal test.

      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.

      Lee Crites
      lee@critesclan.com

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1177688]
Front-paged by Discipulus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-03-29 04:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found