Announcing Galileo - A minimal but modern CMS
I am happy to announce that Galileo CMS is now available from CPAN! This project has been my on-train side-project, but its come a long way in a short time. The most exciting thing for me is that its entirely installable from CPAN. To try it out, simply do
$ cpanm Galileo
$ galileo setup
$ galileo daemon
of course, you can also run it using the servers provided by Mojolicious, or using your favorite psgi-compliant server (as long as they support websockets).
Authorized users edit pages using markdown with a live-preview. All updates to pages, menus and users are sent via websockets. Styling is courtesy of Twitter’s Bootstrap library.
By default it uses an SQLite database, and indeed this is all its been tested on, but in principle it can use anything that DBIx::Class supports. All other dependencies are available from CPAN, with the exception of the javascript libraries, which are bundled with the distribution.
Some things that are still on the list:
- Other than the database, it is not tremendously configurable yet, but I don’t think that should be hard to do. With a few changes it might be decently themable by overloading the styles defined by Bootstrap.
- Images cannot be uploaded yet, but they can be linked to from external sources, or at least that should work :-)
Unfortunately I missed the deadline for Perl Weekly, but I did get it out before I go on vacation tomorrow, and I’m excited that I made that goal. So please, try it out; though probably not for anything mission-critical yet.
Let me know what you think!
Hi Joel
Everything installed easily. Then…
1) Is there no on-line help?
2) I could not see an ‘Add New Page’ button. Am I missing something?
Cheers Ron
Hi Ron,
In my haste to get the first release out, perhaps I was too scant on documentation. Adding a new user or a new page is simply visit ‘/admin/user/mynewusername’ or ‘/edit/mynewpage’. Eventually I want to add a modal which will redirect to the new page/user of your choosing, however I couldn’t get to that yet. Maybe I will try to ship a new doc page quickly.
Thanks for the feedback.
Thanks for sharing, Joel.
Casually trying it out. Some comments/inputs:
1) In “galileo setup”, this prompt confused me a bit:
I thought the default admin is ‘default admin’. Perhaps something like:
2) Perhaps at the end of “galileo setup”, a proceed message can be added, e.g. “Galileo is now setup. You can start the daemon by typing ‘galileo daemon’”.
BTW, looking good!
Hi Steven,
1) Yeah, I don’t like that text shaping either. Unfortunately that’s what comes with Term::Prompt. I’m definitely not married to that module, but when I choose it, it seemed best for some reason. The only thing I really need from a prompter module is the ability to hide the echo for passwords, so I will reevaluate my options there.
2) Good idea! That I can fix easily!
And thank you for the kind words. I have gotten several notes and even my first pull request. I’m so glad people are liking their first impressions!
These comments have been addressed by release 0.004, as well as that one pull request. I am leaving in a few minutes for vacation, so if I don’t respond as quickly as usual, I’m sorry in advance.
Thank you to everyone who has responded in various ways, I’m glad Galileo is interesting for more of you than just me. :-)
Hey Joel,
Do you have screenshots available before I install a bunch of modules? :)
Thanks and keep up the good work. DM
Hi,
I can’t seem to get the Database to install. The connection string seems fine. This is my DSN:
dbi:mysql:DBNAME:localhost:3306
and the credentials are correct. When I submit the database form, this is the debug output:
[Wed May 29 13:54:07 2013] [debug] POST “/databaseinstall”. [Wed May 29 13:54:07 2013] [debug] Routing to a callback. Overwriting existing DDL-YML file - /tmp/5G7EM2PYid/source/deploy/2/001-auto.yml at /usr/local/lib64/perl5/Moose/Meta/Method/Delegation.pm line 110. Overwriting existing DDL-YML file - /tmp/5G7EM2PYid/source/deploy/2/001-auto-_VERSION.yml at /usr/local/lib64/perl5/Moose/Meta/Method/Delegation.pm line 110. [Wed May 29 13:54:08 2013] [debug] 302 Found (0.443739s, 2.254/s). [Wed May 29 13:54:08 2013] [debug] GET “/database”. [Wed May 29 13:54:08 2013] [debug] Routing to a callback.
Any idea why this isn’t working?
I fixed the database issue. Turns out the logger wasn’t escaping a character and not telling me my Perl Mysql driver wasn’t installed. Now it complains that a table doesn’t exist though. Where can I get the schema for this CMS to install since the script doesnt do it?