2010Q3 Grant Proposal: YAC (YACCMS (Yet Another Catalyst CMS)))


YAC (YACCMS (Yet Another Catalyst CMS)))


Ricardo Filipo


[hidden email]

Amount Requested:

US$ 3.000


A realy killer CMS. So simple! So usefull!

use YAC;

my $web = new YAC; $web->run(); # go to web!

Benefits to the Perl Community

A CMS (Content Management System) can be a web tool used in some internet business to help and administer media publication. As a market lider let's consider Drupal, a php based CMS, reference product used by everywere, a key tool in Obama's USA president campaign. The Drupal's grow in users (designers and coders) and contributed addons bring up to community a lot of php programmer's work and all market demmand for their code.

The media produced by CMS needs to integrate with other system like CRMs and ERPs or other enterprise legacy. The CMS's oportunity to programmers became from integration tools like a plugin system and addon facilities. It's the Drupal's case. That minimalistic simplicity is the strongest value. Programmers can hook systems in the CMS and final users can plug in at the website instantly.

The secret: The designer (or anybody) can do functional web without the coder. A CMS needs a simple and clear user interface. But the core integration to other systems where the coder works need to be simple too. Final result: Productivity.

In the Java, Python, Ruby or Asp world we will find similar tools like Typo, OpenCms, Django and Plone. Some simple, others powefull.

At perl tools we consider MovableType. Our work will not compete directly with MovableType as it integrates in Catalyst's control level as our implementation and plugin basis. The YAC's paradigma differ in our simplicity and minimalistic goal. Will be ok to one begin in YAC and integrates MovableType anytime.

The Catalyst Project need a extensible, basic CMS Design Pattern with the eyes in the final user and the hooks that a programmer can play. A CMS more simple than Drupal and with the power of CPAN and Catalyst.

We will consider cpan tools like Reaction, Mojo and Dancer.


http://en.wikipedia.org/wiki/Content_management_system http://en.wikipedia.org/wiki/List_of_content_management_systems http://www.movabletype.org http://search.cpan.org/~okko/Catalyst-Controller-MovableType-0.003/ http://en.wikipedia.org/wiki/OpenCms http://en.wikipedia.org/wiki/Drupal http://en.wikipedia.org/wiki/Plone_(software) http://en.wikipedia.org/wiki/Typo_(software) http://search.cpan.org/dist/Reaction/ http://search.cpan.org/dist/Mojolicious/ http://search.cpan.org/dist/Dancer/


* A so basic CMS Design Pattern on Catalyst with some helpers, tools and simple layout.

* Ajax user interface to some Catalyst core functions.

* CPAN module as the first implementation.

Project Details

YAC will be a basic CMS Design Pattern with a simple user interface. No need to learn perl to play the YAC but a monger will play so well.

A CMS needs, at least, to create, edit and publish content and to link that content as web address (urls) to navigation or command menus and links. A good addon is a theme manager. The access to the CMS and this features need to be defined at Access Control List. The stronguest feature in the UI will be a simple plugin system integrated at cpan level.

The idea, as the first implementation, will be an extensible and basic ajax structure around jquery from Catalyst. Consider Catalyst::View::Component::jQuery.

As simple as an CMS can be, YAC will implement a simple user interface around Catalyst helpers, open hooks and plugins. This open design will encourage YAC's contributions grow.

The most important pattern to be done will be an open user interface paradigma. The idea about web interfaces can't neglect Ajax and the HTML 5 protocol.


  • Media Player

  • Image slide and carroussel

  • Dialogs and some jqueryUI things

  • Access Control List Auth

  • HTML WYSIWYG content editor

  • Acces to Catalyst and Plugins hooks at WYSIWYG content editor level

  • Image, media and file upload at WYSIWYG content editor level

  • Virtual file manager at WYSIWYG content editor level

  • Plugin System, Catalyst compatible

  • Hooks to some Catalyst helpers: create View, create Model, create Control

The project will begin at august 01 and end with the YAC's first module uploaded to cpan.


  1. Concepts:

    Define main concepts like public target and user perfil.

    1. 1. Define Frameworks:

      . Perl modules dependencies . Ajax basic framework

    2. 2. Implement basic concepts:

      . Implement the first tests . Refine requirements . Design first UI tests

    3. 3. Feedback:

      . Fish some feedback from monks and end users . Define some goals for next iteration

  2. Alpha Implementation:

    Implements all needs and issues from feedbacks. It will be the first simple but functional prototype.

    1. 1. Define Requirements:

      . Perl work . Ajax structure

    2. 2. Implementation:

      . Do tests . Do perl and ajax code . Design UI

    3. 3. Feedback:

      . Fish some feedback from monks and end users . Define the next iteration in this phase

  3. Final Feedback:

    After the early alpha tests, maybe at 2010 november, we will take a Beta software without erros but the beta users need to feedback us about your needs.

    1. 1. New Requirements and Issues:

      . Perl work . Ajax work

    2. 2. Implementation and Debug:

      . Do tests . Do perl and ajax code . Design and improve UI

    3. 3. Feedback:

      . Fish some feedback from monks and end users . Define the final iteration in this phase

  4. Feedback for next:

    Do some analises over feedback to define the project future.

    1. 1. Debugs and Issues:

      . Perl work . Ajax work . Do tests . Debug perl and ajax code . Redesign and improve UI

    2. 3. Feedback:

      . Fish some feedback from monks and end users . Define next grant or projects future

Project Schedule

6 months. Begin at august 1.

Completeness Criteria

The first goal is to define the CMS Design Pattern concept.

A basic module will be released to CPAN with an example implementation.


Ricardo Filipo [hidden email]

See Lattes:


Experience about user interfaces, marketing, arts and perl.


This seems to be a grant to write a new, important piece of software in a problem domain that is will understood and well-populated. I think that in general, these kinds of grants are a bad idea.

With so much competition, a project like this needs to be very good, needs to attract many users, needs to compete on many fronts, and probably needs a lot of luck, too. I think TPF would do well to, in general, reserve funding for projects that have already established a foothold and user base.

I think it would be important to have a Perl based CMS comparable to Drupal in wealth and success but I don't think one that is called "Yet Another..." can do that.
I think in order to even try to get close to such success one needs to start looking at the business need and solve that - and not our need to have a Perl based CMS.

In any case I would recommend funding such project only at some later stage, when we see that a large part of the applications is already working and that it managed to attract a developer community.

Perl already has some awesome open source CMS implementations -- WebGUI comes to mind first because its founder is a friend. While not Catalyst-based, I think it would be more useful and lower risk to the community to advance the existing solutions than invent new ones from scratch that (by definition) have zero mindshare.

Adding another entry into a flooded market does not seem like the best use of the TPF's money.

I echo Gabor and Ricardo, I don't think it is wise to fund a project in such an early stage, even though I do like its goals.

What Gabor said!

If the premise is reinvent Drupal, but simpler and for Perl, then I think we already have contenders that contain most of the major necessary pieces. Why not propose to work with one of the existing systems to modify them in ways that are more in line with this proposal's philosophy?

Thank you!

The YAC project is realy at early stage and the concepts changed in this first debut in monks community. The Drupal's concept can be more developed to be more simple.

We will grow the ideas and code and in next stage will use the possible grant to advertise the new CMS.


Thank you.

The YAC begins. The concepts are changing!
It's life. Alive!

Please folow:

We accept ideas!

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Entry

This page contains a single entry by Alberto Simões published on August 1, 2010 3:12 PM.

2010Q3 Grant Proposal: Improve Parrot Embed/Extend Subsystem Tests and Documentation was the previous entry in this blog.

2010Q3 Grant Proposal: Perl 6 book in russian is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2