CMS based Mojolicious

Recently I published an initial release of CMS for a blog creation based on Mojolicious - http://mojoblog.net/en/

I want to ease the installation of this product by users who are not perl programmers. It makes sense to pack all Perl modules, including all dependencies, in the CMS distributive (in the 'lib' directory) to do this. I would like to ask the experienced Perl programmers how risky is this strategy?

Is it possible and which way is the best to do it?

I found the technology for identification of all dependencies for Perl modules here -
http://perlmaven.com/how-to-fetch-the-cpan-dependency-tree-of-a-perl-module

2 Comments

I'm not a developer, just use basic Perl sometimes for my needs. But my understanding is that if the dependency modules are puer Perl, then you can add copies of the modules into a subfolder, then use them as follows

use FindBin;                 # locate this script
use lib "$FindBin::Bin/..";  # use the parent directory
use yourlib;

The only problem is shipping old, possibly buggy code with your blog. But then if users install the modules themselves, and don't upgrade them, they still stuck with old modules.

Also, you list Image::Magick as a dependency -- this will likely be a problem to include, as it won't work unless ImageMagick is installed on the system, and it may not be.

Again, I no expert, and hopefully someone else will reply..

I did, however, installed it on Cloud9 (they have free 500mb accounts). It turned out easier than I thought it would be, considering I never used any cloud services before, including this one. An I'm a Windows junkie... Basically, to get it to run I

* installed the required modules (sudo cpan install Module::Name)
* created mysql db and user (your blog doesn't allow password-less users, but the C9 has one without password by default)
* started it with Hypnotoad. for some reason when I started it with Morbo I couldn't access the site, even specifying the port.

Some issues I ran into: docs are all over the place. I couldn't use default mysql user from Cloud9 for DB connection because it has no passowrd, but your code required a password. after I completed setup process my admin user wasn't created -- I couldn't login or restore the password as it kept telling me email not found / login is incorrect, I checked user table -- it was empty (after that I registered a regular user and the new user appeared in that table. but admin never did)...

Anyway, good effort, thank for doing this. There's is a similar effort, btw -- https://github.com/jberger/Galileo

Btw, if you place it on Github, maybe others will contribute fixes / issue reports...

Just realized the Admin user access is at

/Admin
.

Leave a comment

About i_kolisnyk

user-pic I blog about Perl.