pdl / Articulate

Lightweight Perl CMS Framework
Other
2 stars 2 forks source link

Articulate, a Lightweight Perl CMS Framework

Synopsis

Articulate provides a content management service for your web app. Lightweight means placing minimal demands on your app while maximising 'whipuptitude': it gives you a single interface in code to a framework that's totally modular underneath, and it won't claim any URL endpoints for itself.

You don't need to redesign your app around Articulate, it's a service that you call on when you need it, and all the 'moving parts' can be switched out if you want to do things your way.

It's written in Perl, the fast, reliable 'glue language' that's perfect for agile web development projects, and currently runs on the Dancer1 and Dancer2 web frameworks.

Caveat

Warning:

This is work in progress! It's alpha-stage software and important things WILL change.

If you want a preview, there's an example blog engine included, just clone the repository and type:

cd examples/plain-speaking
bin/app.psgi

... and then go to http://localhost:3000/

Don't want a blog? Don't worry, many other things are possible!

Want to know more? The Development.md file in the source distribution will get you started working with or on Articulate. Articulate is on CPAN and you can read the documentation at https://metacpan.org/pod/Articulate.

Who should use Articulate?

Articulate is for you if you need flexibility, or if your requirements often change. Here's some examples of when you might need Articulate:

Articulate is a general-purpose tool and you may not want to build your content management solution with Articulate if you have no atypical requirements and your use case can be fully addressed by existing specialised products.

Roadmap

Articulate is intended to provide a flexible and lightweight core for content management which can be customised using a plugin-based component system.

Articulate uses modern Perl and tries to avoid huge dependencies, while making use of the really good bits of CPAN like Moo, Module::Load and IO::All.

High-level milestones:

Right now it runs atop Dancer1, and (as of February 2015) Dancer2; support for other frameworks is a goal.

Initial concept work on Articulate started in early 2014 and it was rewritten from scratch in November 2014.